Publication Type
Journal Article
Version
publishedVersion
Publication Date
6-2012
Abstract
Libraries usually impose constraints on how clients should use them. Often these constraints are not well-documented. In this paper, we address the problem of recovering such constraints automatically, a problem referred to as specification mining. Given some client programs that use a given library, we identify constraints on the library usage that are (almost) satisfied by the given set of clients.The class of rules we target for mining combines simple binary temporal operators with state predicates (composed of equality constraints) and quantification. This is a simple yet expressive subclass of temporal properties (LTL formulae) that allows us to capture many common API usage rules. We focus on recovering rules from execution traces and apply classical data mining concepts to be robust against bugs (API usage rule violations) in clients. We present new algorithms for mining rules from execution traces. We show how a propositional rule mining algorithm can be generalized to treat quantification and state predicates in a unified way. Our approach enables the miner to be complete (i.e. , mine all rules within the targeted class that are satisfied by the given traces) while avoiding an exponential blowup.We have implemented these algorithms and used them to mine API usage rules for several Windows APIs. Our experiments show the efficiency and effectiveness of our approach.
Keywords
Specification mining, Temporal rules, Quantification, Dynamic analysis, Reverse engineering
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Science of Computer Programming
Volume
77
Issue
6
First Page
743
Last Page
759
ISSN
0167-6423
Identifier
10.1016/j.scico.2010.10.003
Publisher
Elsevier
Citation
LO, David; RAMALINGAM, Ganesan; RANGANATH, Venkatesh Prasad; and VASWANI, Kapil.
Mining Quantified Temporal Rules: Formalism, Algorithms, and Evaluation. (2012). Science of Computer Programming. 77, (6), 743-759.
Available at: https://ink.library.smu.edu.sg/sis_research/1345
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1016/j.scico.2010.10.003