Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
Regular types for active objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Protocol specifications and component adaptors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automatically Checking an Implementation against Its Formal Specification
IEEE Transactions on Software Engineering
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Finding failures by cluster analysis of execution profiles
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
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refactoring: Improving the Design of Existing Code
Proceedings of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods - XP/Agile Universe 2002
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM SIGPLAN Notices
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Data Mining: Concepts and Techniques
Data Mining: Concepts and Techniques
Joint 10th European Software Engineering Conference (ESEC) and 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13) 2005
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
Recovering system specific rules from software repositories
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Specifying and checking component usage
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Static object trace extraction for programs with pointers
Journal of Systems and Software - Special issue: Software reverse engineering
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
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
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
Effective typestate verification in the presence of aliasing
Proceedings of the 2006 international symposium on Software testing and analysis
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Path-Sensitive Inference of Function Precedence Protocols
ICSE '07 Proceedings of the 29th international conference on 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
Lightweight defect localization for java
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Finding programming errors earlier by evaluating runtime monitors ahead-of-time
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Javert: fully automatic mining of general temporal properties from dynamic traces
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
On evaluating recommender systems for API usages
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium
Mining exception-handling rules as sequence association rules
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
AVA: automated interpretation of dynamically detected anomalies
Proceedings of the eighteenth international symposium on Software testing and analysis
Automatic synthesis of behavior protocols for composable web-services
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
MSeqGen: object-oriented unit-test generation via mining source code
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
Mining trends of library usage
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Supporting Framework Use via Automatically Extracted Concept-Implementation Templates
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Online inference and enforcement of temporal properties
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Recurring bug fixes in object-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
SEIM: static extraction of interaction models
Proceedings of the 2nd International Workshop on Principles of Engineering Service-Oriented Systems
Synthesizing adapters for conversational web-services from their WSDL interface
Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems
Generating test cases for specification mining
Proceedings of the 19th international symposium on Software testing and analysis
Learning from 6,000 projects: lightweight cross-project anomaly detection
Proceedings of the 19th international symposium on Software testing and analysis
Applications of data mining in software engineering
International Journal of Data Analysis Techniques and Strategies
Detection of recurring software vulnerabilities
Proceedings of the IEEE/ACM international conference on Automated software engineering
A graph-based approach to API usage adaptation
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Component adaptation and assembly using interface relations
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Detecting missing method calls in object-oriented software
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
DyGen: automatic generation of high-coverage tests via mining gigabytes of dynamic traces
TAP'10 Proceedings of the 4th international conference on Tests and proofs
Clara: partially evaluating runtime monitors at compile time tutorial supplement
RV'10 Proceedings of the First international conference on Runtime verification
aComment: mining annotations from comments and code to detect interrupt related concurrency bugs
Proceedings of the 33rd International Conference on Software Engineering
Enriching Java Enterprise interfaces with formal sequential contracts
Proceedings of the Third Workshop on Behavioural Modelling
Detecting anomalies in the order of equally-typed method arguments
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Assessing modularity via usage changes
Proceedings of the 10th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools
EAGLE: engineering software in the ubiquitous globe by leveraging uncErtainty
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
An empirical study of object protocols in the wild
Proceedings of the 25th European conference on Object-oriented programming
Mining evolution of object usage
Proceedings of the 25th European conference on Object-oriented programming
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
Extracting significant specifications from mining through mutation testing
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Graph-based pattern-oriented, context-sensitive source code completion
Proceedings of the 34th International Conference on Software Engineering
Synthesizing API usage examples
Proceedings of the 34th International Conference on Software Engineering
Extending static analysis by mining project-specific rules
Proceedings of the 34th International Conference on Software Engineering
Typestate-based semantic code search over partial programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Automated inference of models for black box systems based on interface descriptions
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Detecting missing method calls as violations of the majority rule
ACM Transactions on Software Engineering and Methodology (TOSEM)
Mining succinct and high-coverage API usage patterns from source code
Proceedings of the 10th Working Conference on Mining Software Repositories
Automated oracles: an empirical study on cost and effectiveness
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
Chucky: exposing missing checks in source code for vulnerability discovery
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
Hi-index | 0.00 |
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 methodcall sequences. Our JADET prototype has detected yet undiscovered defects and code smells in five popular open-source programs, including two new defects in AspectJ.