DocumentCode
1958618
Title
A New Family of Software Anti-patterns: Linguistic Anti-patterns
Author
Arnaoudova, V. ; Di Penta, Massimiliano ; Antoniol, Giuliano ; Gueheneuc, Yann-Gael
Author_Institution
Ptidej Team, Ecole Polytech. de Montreal, Montreal, QC, Canada
fYear
2013
fDate
5-8 March 2013
Firstpage
187
Lastpage
196
Abstract
Recent and past studies have shown that poor source code lexicon negatively affects software understand ability, 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 detector 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
Java; computational linguistics; software engineering; software management; Java programs; Java software projects; LAPD; attribute comments; attribute names; attribute types; dectector prototype; design antipatterns; documentation; linguistic antipattern detector; software artifact description; software linguistic antipatterns; software maintainability; software quality; software understandability; source code lexicon; Arrays; Documentation; Gettering; Java; Navigation; Pragmatics; Software; Software antipatterns; Source code lexicon; Textual analysis of software artifacts;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on
Conference_Location
Genova
ISSN
1534-5351
Print_ISBN
978-1-4673-5833-0
Type
conf
DOI
10.1109/CSMR.2013.28
Filename
6498467
Link To Document