Abstract

This paper presents an approach to automatically detect and identify breaks in design patterns from a code change during software evolution for C++ programs. The proposed approach aims to determine whether a code change breaks a predefined design pattern or not. The approach analyzes a code change and checks if the change breaks a predefined design pattern that is defined by software designers. Classes and their methods and relationships that are involved in a design pattern are represented in XML format named patternXML with the corresponding design pattern information. After each code change, patternXML file is parsed to determine possible breaks of patterns caused by the committed code change. All identified breaks are saved and archived for future analysis. A simple set of rules are defined to detect and identify breaks in predefined design patterns. The patternXML representation is flexible and can represent different types of design patterns. The approach is realized as a tool and it is evaluated on a set of test cases. Experimental results show that the tool can achieve high accuracy rate in discovering breaks in design patterns from code changes.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.