System Modularity has positive effects on software maintainability, reusability, and understandability. One factor that can affect system modularity is code tangling due to code clones. Code tangling can have serious cross-cutting effects on the source code and thereby affect maintainability and reusability of the code. In this research we have developed an algorithmic approach to convert code clones to aspects in order to improve modularity and aid maintainability. Firstly, we use an existing code-clone detection tool to identify code clones in a source code. Secondly, we design algorithms to convert the code clones into aspects and do aspect composition with the original source code. Thirdly, we implement a prototype based on the algorithms. Fourthly, we carry out a performance analysis on the aspects composed source code and our analysis shows that the aspect composed code performs as well as the original code and even better in terms of execution times.

Additional Metadata
Keywords Algorithm, Aspects mining, Code clones, Modularity, Performance analysis, Reuse
Persistent URL dx.doi.org/10.1007/s10796-013-9428-7
Journal Information Systems Frontiers
Citation
Ajila, S, Gakhar, A.S. (Angad S.), & Lung, C.H. (2014). Aspectualization of code clones—an algorithmic approach. Information Systems Frontiers, 16(5), 835–851. doi:10.1007/s10796-013-9428-7