TY - GEN
T1 - Micro patterns in agile software
AU - Concas, Giulio
AU - Destefanis, Giuseppe
AU - Marchesi, Michele
AU - Ortu, Marco
AU - Tonelli, Roberto
PY - 2013
Y1 - 2013
N2 - In this paper we present a study on micro patterns in different releases of two software systems developed with Object Oriented technologies and Agile process. Micro patterns are design decisions in code that can be easily automatically recognised. Gil and Maman introduced the concept to support providing objective assessment of design decisions [1]. They catalogued 27 micro patterns that capture a variety of programming practices in Java. Micro patterns can be a useful metrics in order to measure the quality of software by showing that certain categories of micro patterns are more fault prone than others, and that the classes that do not correspond to any category of micro patterns are more likely to be faulty. In our study we present some empirical results on two case studies of systems developed with Agile methodologies, and compare them to previous results obtained for non Agile systems. In particular we have verified that the distribution of micro patterns in a software system developed using Agile methodologies does not differ from the distribution studied in other systems, and that the micro patterns fault-proneness is about the same. We also analyzed how the distribution of micro patterns changes in different releases of the same software system. We demonstrate that there is a relationship between the number of faults and the classes that do not match with any micro patterns. We found that these classes are more likely to be fault-prone than the others even in software developed with Agile methodologies.
AB - In this paper we present a study on micro patterns in different releases of two software systems developed with Object Oriented technologies and Agile process. Micro patterns are design decisions in code that can be easily automatically recognised. Gil and Maman introduced the concept to support providing objective assessment of design decisions [1]. They catalogued 27 micro patterns that capture a variety of programming practices in Java. Micro patterns can be a useful metrics in order to measure the quality of software by showing that certain categories of micro patterns are more fault prone than others, and that the classes that do not correspond to any category of micro patterns are more likely to be faulty. In our study we present some empirical results on two case studies of systems developed with Agile methodologies, and compare them to previous results obtained for non Agile systems. In particular we have verified that the distribution of micro patterns in a software system developed using Agile methodologies does not differ from the distribution studied in other systems, and that the micro patterns fault-proneness is about the same. We also analyzed how the distribution of micro patterns changes in different releases of the same software system. We demonstrate that there is a relationship between the number of faults and the classes that do not match with any micro patterns. We found that these classes are more likely to be fault-prone than the others even in software developed with Agile methodologies.
KW - Agile
KW - Data mining
KW - Micro pattern
KW - Object oriented programming
UR - http://www.scopus.com/inward/record.url?scp=84947557090&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-38314-4_15
DO - 10.1007/978-3-642-38314-4_15
M3 - Conference contribution
AN - SCOPUS:84947557090
SN - 9783642383137
VL - 149
T3 - Lecture Notes in Business Information Processing
SP - 210
EP - 222
BT - Agile Processes in Software Engineering and Extreme Programming - 14th International Conference, XP 2013, Proceedings
PB - Springer Nature Link
T2 - 14th International Conference on Agile Processes in Software Engineering and Extreme Programming, XP 2013
Y2 - 3 June 2013 through 7 June 2013
ER -