ACM SIGSOFT Software Engineering Notes · 2004 · 17 citations · 15 references
Software MaintenanceEngineeringCross-cutting ConcernSoftware EngineeringSoftware AnalysisFormal VerificationCrosscut ProgramAspect-oriented ProgrammingClassification SystemDesignComputer ScienceSoftware DesignProgram AnalysisAutomated ReasoningSoftware TestingProgram ComprehensionNew Classification SystemFormal MethodsBenchmark ProgramsObject-oriented ProgrammingProgramming MethodologySystem Software
We present a new classification system for aspect-oriented programs. This system characterizes the interactions between aspects and methods and identifies classes of interactions that enable modular reasoning about the crosscut program. We argue that this system can help developers structure their understanding of aspect-oriented programs and promotes their ability to reason productively about the consequences of crosscutting a program with a given aspect. We have designed and implemented a program analysis system that automatically classifies interactions between aspects and methods and have applied this analysis to a set of benchmark programs. We found that our analysis is able to 1) identify interactions with desirable properties (such as lack of interference), 2) identify potentially problematic interactions (such as interference caused by the aspect and the method both writing the same field), and 3) direct the developer's attention to the causes of such interactions.
15
Patrick Cousot, Radhia Cousot · 1977 · 6.1K citations
Programming Language Theory, Actual Computations, Declarative Programming +10
<i>N</i> degrees of separation
Peri Tarr, Harold Ossher, William Harrison et al. · 1999 · 1.2K citations · Full text
Gregor Kiczales, Erik Hilsdale, Jim Hugunin et al. · Communications of the ACM · 2001 · 536 citations · Full text
Jong-Deok Choi, Manish Gupta, Maurício Serrano et al. · 1999 · 499 citations · Full text