This is an archive of the old software engineering chair at Saarland University. It is no longer up-to-date.

Mining operational preconditions
by Andrzej Wasylkowski, Andreas Zeller

Saarland University, December 2008.

Download as PDF file.

Abstract

A procedure's client must satisfy its precondition---that is, reach a state in which the procedure may be called. Preconditions describe the state that needs to be reached, but not how to reach it. We use static analysis to infer the sequence of operations a variable goes through before being used as a parameter: "In parseProperties(String xml), the parameter xml normally stems from getProperties()." Such operational preconditions can be learned from code examples and checked to detect anomalies. Applied to AspectJ, our OP-Miner prototype found 288 violations of operational preconditions, uncovering 9 unique defects and 48 unique code smells.

BibTeX Entry

@techreport{wasylkowski-tr-2008,
    title = "Mining operational preconditions",
    author = "Andrzej Wasylkowski and Andreas Zeller",
    year = "2008",
    month = dec,
    institution = "Saarland University",
}

Show all publications of the Software Engineering Chair.