Arnaoudova, Venera; Penta, Massimiliano Di; Antoniol, Giuliano; Guéhéneuc, Yann-Gaël A New Family of Software Anti-Patterns: Linguistic Anti-Patterns Inproceedings In: Proceedings of the European Conference on Software Maintenance and Reengineering (CSMR), pp. 187–196, 2013. Abstract | BibTeX | Tags: object-oriented programming, software antipatterns, source code identifiers, textual analysis Arnaoudova, Venera; Constantinides, Constantinos Adaptation of refactoring strategies to multiple axes of modularity: characteristics and criteria Inproceedings In: Proceedings of the International Conference on Software Engineering Research, Management and Applications (SERA), pp. 105–114, 2008. BibTeX | Tags: Aquarium, aspect-oriented programming, modularity unit, object-oriented programming, refactoring, Ruby Ghanbari, Hamoun; Constantinides, Constantinos; Arnaoudova, Venera A hybrid query engine for the structural analysis of Java and AspectJ programs Inproceedings In: Proceedings of the Working Conference on Reverse Engineering (WCRE), pp. 133–137, 2008. BibTeX | Tags: aspect-oriented programming, AspectJ, high-level textual query language, hybrid query engine, Java, object-oriented programming, query languages, visual query interface2013
@inproceedings{2013-CSMR-Arnaoudova-LA,
title = {A New Family of Software Anti-Patterns: Linguistic Anti-Patterns},
author = {Venera Arnaoudova and Massimiliano {Di Penta} and Giuliano Antoniol and Yann-Gaël Guéhéneuc},
year = {2013},
date = {2013-01-01},
booktitle = {Proceedings of the European Conference on Software Maintenance and Reengineering (CSMR)},
pages = {187--196},
abstract = {Recent and past studies have shown that poor source code lexicon negatively affects software understandability, maintainability, and, overall, quality. Besides a poor usage of lexicon and documentation, sometimes a software artifact description is misleading with respect to its implementation. Consequently, developers will spend more time and effort when understanding these software artifacts, or even make wrong assumptions when they use them.
This paper introduces the definition of software linguistic antipatterns, and defines a family of them, i.e., those related to inconsistencies (i) between method signatures, documentation, and behavior and (ii) between attribute names, types, and comments. Whereas “design” antipatterns represent recurring, poor design choices, linguistic antipatterns represent recurring, poor naming and commenting choices.
The paper provides a first catalogue of one family of linguistic antipatterns, showing real examples of such antipatterns and explaining what kind of misunderstanding they can cause. Also, the paper proposes a dectector prototype for Java programs called LAPD (Linguistic Anti-Pattern Detector), and reports a study investigating the presence of linguistic antipatterns in four Java software projects.},
keywords = {object-oriented programming, software antipatterns, source code identifiers, textual analysis},
pubstate = {published},
tppubtype = {inproceedings}
}
This paper introduces the definition of software linguistic antipatterns, and defines a family of them, i.e., those related to inconsistencies (i) between method signatures, documentation, and behavior and (ii) between attribute names, types, and comments. Whereas “design” antipatterns represent recurring, poor design choices, linguistic antipatterns represent recurring, poor naming and commenting choices.
The paper provides a first catalogue of one family of linguistic antipatterns, showing real examples of such antipatterns and explaining what kind of misunderstanding they can cause. Also, the paper proposes a dectector prototype for Java programs called LAPD (Linguistic Anti-Pattern Detector), and reports a study investigating the presence of linguistic antipatterns in four Java software projects.2008
@inproceedings{2008-SERA-Arnaoudova-MultipleAxesModularity,
title = {Adaptation of refactoring strategies to multiple axes of modularity: characteristics and criteria},
author = {Venera Arnaoudova and Constantinos Constantinides},
year = {2008},
date = {2008-01-01},
booktitle = {Proceedings of the International Conference on Software Engineering Research, Management and Applications (SERA)},
pages = {105--114},
keywords = {Aquarium, aspect-oriented programming, modularity unit, object-oriented programming, refactoring, Ruby},
pubstate = {published},
tppubtype = {inproceedings}
}
@inproceedings{2008-WCRE-Ghambari-QueryEngine,
title = {A hybrid query engine for the structural analysis of Java and AspectJ programs},
author = {Hamoun Ghanbari and Constantinos Constantinides and Venera Arnaoudova},
year = {2008},
date = {2008-01-01},
booktitle = {Proceedings of the Working Conference on Reverse Engineering (WCRE)},
pages = {133--137},
keywords = {aspect-oriented programming, AspectJ, high-level textual query language, hybrid query engine, Java, object-oriented programming, query languages, visual query interface},
pubstate = {published},
tppubtype = {inproceedings}
}