Publication | Closed Access
Detecting object usage anomalies
270
Citations
38
References
2007
Year
Unknown Venue
Software MaintenanceProgram CheckingAnomaly DetectionEngineeringVerificationInformation ForensicsSource Code AnalysisSoftware EngineeringSoftware AnalysisFormal VerificationMethod CallsData ScienceData MiningPattern RecognitionObject Usage AnomaliesStatic CheckingJadet PrototypeMachine VisionOutlier DetectionKnowledge DiscoveryStatic AnalysisComputer ScienceStatic Program AnalysisAutomated RepairSoftware DesignCode SmellsProgram AnalysisSoftware TestingFormal MethodsNovelty Detection
Interacting with objects often requires following a protocol---for instance, a specific sequence of method calls. These protocols are not always documented, and violations can lead to subtle problems. Our approach takes code examples to automatically infer legal sequences of method calls. The resulting patterns can then be used to detect anomalies such as Before calling next, one normally calls hasNext. To our knowledge, this is the first fully automatic defect detection approach that learns and checks methodcall sequences. Our JADET prototype has detected yet undiscovered defects and code smells in five popular open-source programs, including two new defects in AspectJ.
| Year | Citations | |
|---|---|---|
Page 1
Page 1