Publication | Open Access
Mining Coding Patterns to Detect Crosscutting Concerns in Java Programs
16
Citations
22
References
2008
Year
Unknown Venue
Software MaintenanceEngineeringCross-cutting ConcernSoftware EngineeringSource Code AnalysisPattern MiningSoftware AnalysisFormal VerificationJava Source CodeJava ProgramsData ScienceData MiningCoding PatternStatic CheckingSoftware MiningKnowledge DiscoveryComputer ScienceCode RepresentationStatic Program AnalysisSoftware DesignProgram AnalysisSoftware TestingProgram ComprehensionFormal Methods
A coding pattern is a frequent sequence of method calls and control statements to implement a particular behavior. Coding patterns include copy-and-pasted code, crosscutting concerns and implementation idioms. Duplicated code fragments and crosscutting concerns that spread across modules are problematic in software maintenance. In this paper, we propose a sequential pattern mining approach to capture coding patterns in Java programs. We have defined a set of rules to translate Java source code into a sequence database for pattern mining, and applied PrefixSpan algorithm to the sequence database. As a case study, we have applied our tool to six open-source programs and manually investigated the resultant patterns. We report coding patterns that are candidates of aspects and several logging patterns that are well-known crosscutting concerns but hard to modularize.
| Year | Citations | |
|---|---|---|
Page 1
Page 1