Graphs and algorithms
Internetworking with TCP/IP vol. III: client-server programming and applications
Internetworking with TCP/IP vol. III: client-server programming and applications
On the learnability of discrete distributions
STOC '94 Proceedings of the twenty-sixth annual ACM symposium on Theory of computing
EEL: machine-independent executable editing
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
On the learnability and usage of acyclic probabilistic finite automata
COLT '95 Proceedings of the eighth annual conference on Computational learning theory
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Efficiency of a Good But Not Linear Set Union Algorithm
Journal of the ACM (JACM)
Quickly detecting relevant program invariants
Proceedings of the 22nd international conference on Software engineering
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Bebop: a path-sensitive interprocedural dataflow engine
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
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
An empirical study of operating systems errors
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Intrusion Detection via Static Analysis
SP '01 Proceedings of the 2001 IEEE Symposium on Security and Privacy
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Proceedings of the 24th International Conference on Software Engineering
Enabling automatic adaptation in systems with under-specified elements
WOSS '02 Proceedings of the first workshop on Self-healing systems
Trace analysis of Erlang programs
Proceedings of the 2002 ACM SIGPLAN workshop on Erlang
Trace analysis of Erlang programs
ACM SIGPLAN Notices
Debugging temporal specifications with concept analysis
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Model-carrying code: a practical approach for safe execution of untrusted applications
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Dynamically inferring temporal properties
Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A Tool for Writing and Debugging Algebraic Specifications
Proceedings of the 26th International Conference on Software Engineering
Active learning for automatic classification of software behavior
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Finding and preventing run-time error handling mistakes
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficient incremental algorithms for dynamic detection of likely invariants
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying mutual exclusion and liveness properties with split preconditions
Journal of Computer Science and Technology
Automatic discovery of API-level exploits
Proceedings of the 27th international conference on Software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
DynaMine: finding common error patterns by mining software revision histories
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic inference of polymorphic lock types
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
Perracotta: mining temporal API rules from imperfect traces
Proceedings of the 28th international conference on Software engineering
LtRules: an automated software library usage rule extraction tool
Proceedings of the 28th international conference on Software engineering
Automatic extraction of abstract-object-state machines from unit-test executions
Proceedings of the 28th international conference on Software engineering
Understanding software application interfaces via string analysis
Proceedings of the 28th international conference on Software engineering
MAPO: mining API usages from open source repositories
Proceedings of the 2006 international workshop on Mining software repositories
Mining object behavior with ADABU
Proceedings of the 2006 international workshop on Dynamic systems analysis
Inferring state-based behavior models
Proceedings of the 2006 international workshop on Dynamic systems analysis
Web application characterization through directed requests
Proceedings of the 2006 international workshop on Dynamic systems analysis
Substra: a framework for automatic generation of integration tests
Proceedings of the 2006 international workshop on Automation of software test
Proceedings of the 5th international conference on Generative programming and component engineering
SMArTIC: towards building an accurate, robust and scalable specification miner
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Verification through the principle of least astonishment
Proceedings of the 2006 IEEE/ACM international conference on Computer-aided design
Path-Sensitive Inference of Function Precedence Protocols
ICSE '07 Proceedings of the 29th international conference on Software Engineering
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
Static specification inference using predicate mining
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Comparing Approaches to Mining Source Code for Call-Usage Patterns
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Finding Errors in Interoperating Components
IWICSS '07 Proceedings of the Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques
Learning to verify branching time properties
Formal Methods in System Design
Static specification mining using automata-based abstractions
Proceedings of the 2007 international symposium on Software testing and analysis
Efficient mining of iterative patterns for software specification discovery
Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining
Mining specifications of malicious behavior
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Mining API patterns as partial orders from source code: from usage scenarios to specifications
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Detecting object usage anomalies
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Context-based detection of clone-related bugs
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Mining modal scenarios from execution traces
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
From uncertainty to belief: inferring the specification within
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
CANDID: preventing sql injection attacks using dynamic candidate evaluations
Proceedings of the 14th ACM conference on Computer and communications security
Finding errors in components that exchange xml data
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Mining modal scenario-based specifications from execution traces of reactive systems
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Mining specifications of malicious behavior
ISEC '08 Proceedings of the 1st India software engineering conference
Journal of Systems and Software
Symbolic mining of temporal specifications
Proceedings of the 30th international conference on Software engineering
Mining library specifications using inductive logic programming
Proceedings of the 30th international conference on Software engineering
DySy: dynamic symbolic execution for invariant inference
Proceedings of the 30th international conference on Software engineering
Scalable detection of semantic clones
Proceedings of the 30th international conference on Software engineering
Automatic generation of software behavioral models
Proceedings of the 30th international conference on Software engineering
CMV: automatic verification of complete mediation for java virtual machines
Proceedings of the 2008 ACM symposium on Information, computer and communications security
Deriving State Machines from TinyOS Programs Using Symbolic Execution
IPSN '08 Proceedings of the 7th international conference on Information processing in sensor networks
Universal symbolic execution and its application to likely data structure invariant generation
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Dynamic inference of likely data preconditions over predicates by tree learning
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Improving dynamic software analysis by applying grammar inference principles
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on Program Comprehension through Dynamic Analysis (PCODA)
Mining temporal rules for software maintenance
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on Program Comprehension through Dynamic Analysis (PCODA)
Mining past-time temporal rules from execution traces
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
Simulation-directed invariant mining for software verification
Proceedings of the conference on Design, automation and test in Europe
Toasters, Seat Belts, and Inferring Program Properties
Verified Software: Theories, Tools, Experiments
Protocol Inference Using Static Path Profiles
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Javert: fully automatic mining of general temporal properties from dynamic traces
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Mining patterns and rules for software specification discovery
Proceedings of the VLDB Endowment
AutoISES: automatically inferring security specifications and detecting violations
SS'08 Proceedings of the 17th conference on Security symposium
Specification mining of symbolic scenario-based models
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
On temporal path conditions in dependence graphs
Automated Software Engineering
Specification Mining with Few False Positives
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Interface Generation and Compositional Verification in JavaPathfinder
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Mining API Error-Handling Specifications from Source Code
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
SNIFF: A Search Engine for Java Using Free-Form Queries
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
The road not taken: Estimating path execution frequency statically
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Automatic dimension inference and checking for object-oriented programs
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
A toolset for automated failure analysis
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Model Checking Merged Program Traces
Electronic Notes in Theoretical Computer Science (ENTCS)
Classification of software behaviors for failure detection: a discriminative pattern mining approach
Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining
AVA: automated interpretation of dynamically detected anomalies
Proceedings of the eighteenth international symposium on Software testing and analysis
Extracting Behavior Specification of Components in Legacy Applications
CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
Api hyperlinking via structural overlap
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatic steering of behavioral model inference
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Graph-based mining of multiple object usage patterns
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Detecting precise behavioral models
Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium
Using machine learning to refine Category-Partition test specifications and test suites
Information and Software Technology
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Dynamically inferring, refining, and checking API usage protocols
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Mining Scenario-Based Triggers and Effects
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Reducing the Cost of Path Property Monitoring Through Sampling
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Inferring Finite-State Models with Temporal Constraints
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Predictive Typestate Checking of Multithreaded Java Programs
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Inferno: streamlining verification with inferred semantics
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
CANDID: Dynamic candidate evaluations for automatic prevention of SQL injection attacks
ACM Transactions on Information and System Security (TISSEC)
Dynamic characterization of web application interfaces
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Symbiosis of static analysis and program testing
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Extraction of component-environment interaction model using state space traversal
Proceedings of the 2010 ACM Symposium on Applied Computing
Using verification technology to specify and detect malware
EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
Regular inference for state machines using domains with equality tests
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Efficient mining of recurrent rules from a sequence database
DASFAA'08 Proceedings of the 13th international conference on Database systems for advanced applications
Online inference and enforcement of temporal properties
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
DETERMIN: inferring likely deterministic specifications of multithreaded programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
LM: a miner for scenario-based specifications
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
User interface model discovery: towards a generic approach
Proceedings of the 2nd ACM SIGCHI symposium on Engineering interactive computing systems
Superstate identification for state machines using search-based clustering
Proceedings of the 12th annual conference on Genetic and evolutionary computation
Generating test cases for specification mining
Proceedings of the 19th international symposium on Software testing and analysis
Mining program workflow from interleaved traces
Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining
Scalable specification mining for verification and diagnosis
Proceedings of the 47th Design Automation Conference
Scenario-based and value-based specification mining: better together
Proceedings of the IEEE/ACM international conference on Automated software engineering
Verifying pointer safety for programs with unknown calls
Journal of Symbolic Computation
A framework for the competitive evaluation of model inference techniques
Proceedings of the First International Workshop on Model Inference In Testing
The case for software evolution
Proceedings of the FSE/SDP workshop on Future of software engineering research
Generating models of infinite-state communication protocols using regular inference with abstraction
ICTSS'10 Proceedings of the 22nd IFIP WG 6.1 international conference on Testing software and systems
Toward automated detection of logic vulnerabilities in web applications
USENIX Security'10 Proceedings of the 19th USENIX conference on Security
Incrementally discovering testable specifications from program executions
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
Inferring compact models of communication protocol entities
ISoLA'10 Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part I
Automatic requirement extraction from test cases
RV'10 Proceedings of the First international conference on Runtime verification
Clara: partially evaluating runtime monitors at compile time tutorial supplement
RV'10 Proceedings of the First international conference on Runtime verification
Verifying heap-manipulating programs with unknown procedure calls
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
2ndStrike: toward manifesting hidden concurrency typestate bugs
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Mining message sequence graphs
Proceedings of the 33rd International Conference on Software Engineering
Proceedings of the 33rd International Conference on Software Engineering
Mining parametric specifications
Proceedings of the 33rd International Conference on Software Engineering
Specification mining in concurrent and distributed systems
Proceedings of the 33rd International Conference on Software Engineering
Specification mining in concurrent and distributed systems
Proceedings of the 33rd International Conference on Software Engineering
NFM'11 Proceedings of the Third international conference on NASA Formal methods
A security policy oracle: detecting security holes using multiple API implementations
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Detecting anomalies in the order of equally-typed method arguments
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Iterative refinement of specification for component based embedded systems
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Improved multithreaded unit testing
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Experimental specification mining for enterprise applications
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Mining temporal specifications from object usage
Automated Software Engineering
Inferring specifications for resources from natural language API documentation
Automated Software Engineering
Alattin: mining alternative patterns for defect detection
Automated Software Engineering
Lattice-Based Sampling for Path Property Monitoring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Extracting significant specifications from mining through mutation testing
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Usable verification of object-oriented programs by combining static and dynamic techniques
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
BLOCK: a black-box approach for detection of state violation attacks towards web applications
Proceedings of the 27th Annual Computer Security Applications Conference
Discovering likely method specifications
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Mining temporal specifications for error detection
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Learning component interfaces with may and must abstractions
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Eclat: automatic generation and classification of test inputs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Lightweight defect localization for java
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Minimization, learning, and conformance testing of boolean programs
CONCUR'06 Proceedings of the 17th international conference on Concurrency Theory
Mining quantified temporal rules: Formalism, algorithms, and evaluation
Science of Computer Programming
Dynamic architecture extraction
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
Regular inference for state machines with parameters
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Inferring canonical register automata
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Mining test oracles of web search engines
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
PRECIS: Inferring invariants using program path guided clustering
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
DC2: A framework for scalable, scope-bounded software verification
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Learning extended FSA from software: An empirical assessment
Journal of Systems and Software
Mining effective temporal specifications from heterogeneous API data
Journal of Computer Science and Technology - Special issue on Natural Language Processing
Extended program invariants: applications in testing and fault localization
Proceedings of the 2012 Workshop on Dynamic Analysis
Graph-based pattern-oriented, context-sensitive source code completion
Proceedings of the 34th International Conference on Software Engineering
Performance debugging in the large via mining millions of stack traces
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the 34th International Conference on Software Engineering
Synthesizing API usage examples
Proceedings of the 34th International Conference on Software Engineering
Inferring class level specifications for distributed systems
Proceedings of the 34th International Conference on Software Engineering
Statically checking API protocol conformance with mined multi-object specifications
Proceedings of the 34th International Conference on Software Engineering
An architecture for information exchange based on reference models
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Automatic synthesis of specifications for first order curry programs
Proceedings of the 14th symposium on Principles and practice of declarative programming
A state-based model of sensor protocols
Theoretical Computer Science
Dynamic property mining for embedded software
Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Typestate-based semantic code search over partial programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Model-Based compatibility checking of system modifications
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Inferring semantic interfaces of data structures
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
An automated analysis methodology to detect inconsistencies in web services with WSDL interfaces
Software Testing, Verification & Reliability
TRSynth: a tool for automatic inference of term equivalence in left-linear term rewriting systems
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Bridging pre- and post-silicon debugging with BiPeD
Proceedings of the International Conference on Computer-Aided Design
Detecting missing method calls as violations of the majority rule
ACM Transactions on Software Engineering and Methodology (TOSEM)
Discovering branching conditions from business process execution logs
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Mining requirements from closed-loop control models
Proceedings of the 16th international conference on Hybrid systems: computation and control
Hybrid learning: interface generation through static, dynamic, and symbolic analysis
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Proceedings of the 2013 International Conference on Software Engineering
Mining succinct and high-coverage API usage patterns from source code
Proceedings of the 10th Working Conference on Mining Software Repositories
Second-order constraints in dynamic invariant inference
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Producing software by integration: challenges and research directions (keynote)
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Software model synthesis using satisfiability solvers
Empirical Software Engineering
Empirical Software Engineering
Automatic generation of quality specifications
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Using model checking to analyze the system behavior of the LHC production grid
Future Generation Computer Systems
Automatic generation of compact formal properties for effective error detection
Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis
Hi-index | 0.00 |
Program verification is a promising approach to improving program quality, because it can search all possible program executions for specific errors. However, the need to formally describe correct behavior or errors is a major barrier to the widespread adoption of program verification, since programmers historically have been reluctant to write formal specifications. Automating the process of formulating specifications would remove a barrier to program verification and enhance its practicality.This paper describes specification mining, a machine learning approach to discovering formal specifications of the protocols that code must obey when interacting with an application program interface or abstract data type. Starting from the assumption that a working program is well enough debugged to reveal strong hints of correct protocols, our tool infers a specification by observing program execution and concisely summarizing the frequent interaction patterns as state machines that capture both temporal and data dependences. These state machines can be examined by a programmer, to refine the specification and identify errors, and can be utilized by automatic verification tools, to find bugs.Our preliminary experience with the mining tool has been promising. We were able to learn specifications that not only captured the correct protocol, but also discovered serious bugs.