Title :
Empirical evidence of code decay: A systematic mapping study
Author :
Bandi, Ajay ; Williams, Brian J. ; Allen, Edward B.
Author_Institution :
Dept. of Comput. Sci. & Eng., Mississippi State Univ., Starkville, MS, USA
Abstract :
Code decay is a gradual process that negatively impacts the quality of a software system. Developers need trusted measurement techniques to evaluate whether their systems have decayed. The research aims to find what is currently known about code decay detection techniques and metrics used to evaluate decay. We performed a systematic mapping study to determine which techniques and metrics have been empirically evaluated. A review protocol was developed and followed to identify 30 primary studies with empirical evidence of code decay. We categorized detection techniques into two broad groups: human-based and metric-based approaches. We describe the attributes of each approach and distinguish features of several subcategories of both high-level groups. A tabular overview of code decay metrics is also presented. We exclude studies that do not use time (i.e., do not use evaluation of multiple software versions) as a factor when evaluating code decay. This limitation serves to focus the review. We found that coupling metrics are the most widely used at identifying code decay. Researchers use various terms to define code decay, and we recommend additional research to operationalize the terms to provide more consistent analysis.
Keywords :
software metrics; software quality; code decay detection; code decay metrics; coupling metrics; human-based approach; metric-based approach; software system quality; systematic mapping; trusted measurement techniques; Computer architecture; Conferences; Data mining; History; Measurement; Software; Systematics; Architecture Violations; Code Decay; Coupling; Design Rules; Metrics; Software Evolution;
Conference_Titel :
Reverse Engineering (WCRE), 2013 20th Working Conference on
Conference_Location :
Koblenz
DOI :
10.1109/WCRE.2013.6671309