International Journal of Legal Medicine · 2001 · 33 citations · 5 references
ComputingComputer ScienceBehavior AnalysisProgramming LanguagesSoftware EngineeringBehavioral AnalysisData-flow AnalysisInteraction PatternsSoftware TestingStatic AnalysisStatic Code AnalysisDynamic Code AnalysisDynamic Program Analysis
We detect interaction patterns in legacy code combining static and dynamic analyses. The analyses do not depend on coding or naming conventions. We classified potential pattern instances according to the evidence our analyses provide. We discuss our approach with the Observer Pattern as an example. Our Java implementation analyzes Java programs. We evaluated our approach by self applying the tool looking for Observers in its code. In general, our tool detects all Observer Pattern instances actually contained in the code as candidates, i.e., we do not miss a single pattern instance. In the example, the candidates our tool considers Observers with high evidence include 80% of the actual Observer Pattern instances and no false positives.
5
Pattern-based reverse-engineering of design components
Rudolf K. Keller, Reinhard Schauer, Sébastien Robitaille et al. · 1999 · 217 citations
Software architectural transformation
S. Jeromy Carrière, S. Woods, Rick Kazman · 2003 · 39 citations