Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Bugs as deviant behavior: a general approach to inferring errors in systems code
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Efficient incremental algorithms for dynamic detection of likely invariants
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Perracotta: mining temporal API rules from imperfect traces
Proceedings of the 28th international conference on Software engineering
Mining object behavior with ADABU
Proceedings of the 2006 international workshop on Dynamic systems analysis
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Statistical debugging using compound boolean predicates
Proceedings of the 2007 international symposium on Software testing and analysis
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Proceedings of the 33rd International Conference on Software Engineering
Automatic inference of model fields and their representation
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Discovering branching conditions from business process execution logs
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
The languages of current dynamic constraint detection techniques are often specified by fixed grammars of universal properties. These properties may not be sufficient to express more subtle facts that describe the essential behavior of a given program. In an effort to make the dynamically recovered specification more expressive and program-specific we propose the state space partitioning technique as a solution which effectively adds program-specific disjunctive properties to the language of dynamic constraint detection. In this paper we present ContExt, a prototype implementation of the state space partitioning technique which relies on Daikon for dynamic constraint inference tasks. In order to evaluate recovered specifications produced by ContExt, we develop a methodology which allows us to measure quantitatively how well a particular recovered specification approximates the essential specification of a program's behavior. The proposed methodology is then used to comparatively evaluate the specifications recovered by ContExt and Daikon on two examples.