• 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