Title
Rule-based detection of design patterns in program code
Abstract
The process of understanding and reusing software is often time-consuming, especially in legacy code and open-source libraries. While some core code of open-source libraries may be well-documented, it is frequently the case that open-source libraries lack informative API documentation and reliable design information. As a result, the source code itself is often the sole reliable source of information for program understanding activities. In this article, we propose a reverse-engineering approach that can provide assistance during the process of understanding software through the automatic recovery of hidden design patterns in software libraries. Specifically, we use ontology formalism to represent the conceptual knowledge of the source code and semantic rules to capture the structures and behaviors of the design patterns in the libraries. Several software libraries were examined with this approach and the evaluation results show that effective and flexible detection of design patterns can be achieved without using hard-coded heuristics.
Year
DOI
Venue
2014
10.1007/s10009-013-0292-z
International Journal on Software Tools for Technology Transfer (STTT)
Keywords
Field
DocType
design patterns,software maintenance,semantic inference,knowledge representation,design recovery,ontology formalisms
Static program analysis,Programming language,Computer science,Source code,Structural pattern,Internal documentation,Software design pattern,KPI-driven code analysis,Software construction,Software framework
Journal
Volume
Issue
ISSN
16
3
1433-2787
Citations 
PageRank 
References 
14
0.61
23
Authors
3
Name
Order
Citations
PageRank
Awny Alnusair1507.43
Tian Zhao224120.35
Gongjun Yan375543.39