Automatic Detection of System-Specific Conventions Unknown to Developers

André Hora 1 Nicolas Anquetil 1 Anne Etien 1 Stéphane Ducasse 1 Marco Túlio Valente 2
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : In Apache Ant, a convention to improve maintenance was introduced in 2004 stating a new way to close files instead of the Java generic InputStream.close(). Yet, six years after its introduction, this convention was still not generally known to the developers. Two existing solutions could help in these cases. First, one can deprecate entities, but, in our example, one can hardly deprecate Java's method. Second, one can create a system-specific rule to be automatically enforced. In a preceding publication , we showed that system-specific rules are more likely to be noticed by developers than generic ones. However, in practice, developers rarely create specific rules. We therefore propose to free the developers from the need to create rules by automatically detecting such conventions from source code repositories. This is done by mining the change history of the system to discover similar changes being applied over several revisions. The proposed approach is applied to real-world systems, and the extracted rules are validated with the help of experts. The results show that many rules are in fact relevant for the experts.
Document type :
Journal articles
Complete list of metadatas

Cited literature [29 references]  Display  Hide  Download

https://hal.inria.fr/hal-01185837
Contributor : Lse Lse <>
Submitted on : Friday, August 21, 2015 - 4:09:45 PM
Last modification on : Friday, March 22, 2019 - 1:36:07 AM
Long-term archiving on : Wednesday, April 26, 2017 - 10:09:15 AM

File

JSS-D-15-00191R1.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

André Hora, Nicolas Anquetil, Anne Etien, Stéphane Ducasse, Marco Túlio Valente. Automatic Detection of System-Specific Conventions Unknown to Developers. Journal of Systems and Software, Elsevier, 2015, 109, pp.192-204. ⟨10.1016/j.jss.2015.08.007⟩. ⟨hal-01185837⟩

Share

Metrics

Record views

422

Files downloads

214