2011 · 26 citations · 25 references
ComputingComputer ScienceProgramming LanguagesRecommender SystemsSoftware EngineeringSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware EvolutionSoftware MaintenanceSoftware ReuseAspectAspect-oriented ProgrammingCross-cuttingEmpirical EvaluationMaintainability Of Large-scale Systems
Cross-cutting concerns are unavoidable and create difficulties in the development and maintenance of large-scale systems. In this paper, we present a novel approach that identifies certain groups of code units that potentially share some cross-cutting concerns and recommends them for creating and updating aspects. Those code units, called concern peers, are detected based on their similar interactions (similar calling relations in similar contexts, either internally or externally). The recommendation is applicable to both the aspectization of non-aspect-oriented programs (i.e. for aspect creation), and the evolution of aspect-oriented programs (i.e. for aspect updating). The empirical evaluation on several real-world software systems shows that our approach is scalable and provides useful recommendations.
25
<i>N</i> degrees of separation
Peri Tarr, Harold Ossher, William Harrison et al. · 1999 · 1.2K citations · Full text
Martin P. Robillard, Gail C. Murphy · 2002 · 289 citations
A graph-based approach to API usage adaptation
Hoan Anh Nguyen, Tung Nguyen, Gary Wilson et al. · 2010 · 158 citations