Abstract

Program comprehension is the process of achieving knowledge information from computer program. It aims to gain all the information from the program in order to understand the intention of the developers so as to support reviewing, defect localization, reverse-engineering, re-engineering, porting, maintenance, reuse and other software engineering activities of existing or legacy systems. This paper proposes a design pattern directed software clustering approach to support program comprehension, which employs design pattern information hidden in programs to direct software clustering processes, helping program developers and maintainers rapidly and conveniently comprehend open source code using the divide and conquer strategy. Firstly, we utilize existing design pattern detection techniques to identify design pattern information from source code. Then, we direct software clustering using the identi ed design pattern information based on the inter-role relationship among design pattern roles. Last, we visualize clustering result to support program understanding. We also developed a prototype tool, TasteJ, and conducted controlled human subject experiments. The results of our experiments demonstrate the feasibility of our approach.

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.