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 Alnusair | 1 | 50 | 7.43 |
Tian Zhao | 2 | 241 | 20.35 |
Gongjun Yan | 3 | 755 | 43.39 |