Design Patterns Impact on Software Quality: Where are the Theories?. Khomh, F. & Gu�h�neuc, Y. In Penta, M. D. & Shepherd, D. C., editors, Proceedings of the 25<sup>th</sup> International Conference on Software Analysis, Evolution, and Reengineering (SANER), pages 15–25, March, 2018. IEEE CS Press. 11 pages.
Design Patterns Impact on Software Quality: Where are the Theories? [pdf]Paper  abstract   bibtex   
Software engineers are creators of habits. During software development, they follow again and again the same patterns when architecting, designing and implementing programs. Alexander introduced such patterns in architecture in 1974 and, 20 years later, they made their way in software development thanks to the work of Gamma et al. Software design patterns were promoted to make the design of programs more ``flexible, modular, reusable, and understandable''. However, ten years later, these patterns, their roles, and their impact on software quality were not fully understood. We then set out to study the impact of design patterns on different quality attributes and published a paper entitled ``Do Design Patterns Impact Software Quality Positively?'' in the proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR) in 2008. Ten years later, this paper received the Most Influential Paper award at the 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER) in 2018. In this retrospective paper for the award, we report and reflect on our and others' studies on the impact of design patterns, discussing some key findings reported about design patterns. We also take a step back from these studies and re-examine the role that design patterns should play in software development. Finally, we outline some avenues for future research work on design patterns, e.g., the identification of the patterns really used by developers, the theories explaining the impact of patterns, or their use to raise the abstraction level of programming languages.

Downloads: 0