Detecting object usage anomalies
- ESEC/FSE 2007
by
Andrzej Wasylkowski, Andreas Zeller, Christian Lindig
ESEC/FSE 2007: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, Pages 35-44, ACM, New York, NY, September 2007.
Digital Library via DOI: 10.1145/1287624.1287632
Abstract
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 method call sequences. Our JADET prototype has detected yet undiscovered defects and code smells in five popular open-source programs, including two new defects in AspectJ.
BibTeX Entry
@inproceedings{wasylkowski-esec-2007, title = "Detecting object usage anomalies", author = "Andrzej Wasylkowski and Andreas Zeller and Christian Lindig", year = "2007", month = sep, address = "New York, NY", booktitle = "ESEC/FSE 2007: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering", location = "Cavtat near Dubrovnik, Croatia", pages = "35--44", publisher = "ACM", doi = "10.1145/1287624.1287632", }