Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model checking
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Semantic anomaly detection in online data sources
Proceedings of the 24th International Conference on Software Engineering
Improving test suites via operational abstraction
Proceedings of the 25th International Conference on Software Engineering
Visualisation of object oriented program execution
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
Predicting problems caused by component upgrades
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Efficient incremental algorithms for dynamic detection of likely invariants
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Model-Driven Business Process Recovery
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Addressing software dependability with statistical and machine learning techniques
Proceedings of the 27th international conference on Software engineering
Data Mining: Concepts and Techniques
Data Mining: Concepts and Techniques
Perracotta: mining temporal API rules from imperfect traces
Proceedings of the 28th international conference on Software engineering
Dynamic Analysis of Software Systems using Execution Pattern Mining
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Visualisations of execution traces (VET): an interactive plugin-based visualisation tool
AUIC '06 Proceedings of the 7th Australasian User interface conference - Volume 50
QUARK: Empirical Assessment of Automaton-based Specification Miners
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
SMArTIC: towards building an accurate, robust and scalable specification miner
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
Compatibility and Regression Testing of COTS-Component-Based Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Efficient mining of iterative patterns for software specification discovery
Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining
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
Dynamic Detection of COTS Component Incompatibility
IEEE Software
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
Automatic generation of software behavioral models
Proceedings of the 30th international conference on Software engineering
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)
On the Synthesis of Finite-State Machines from Samples of Their Behavior
IEEE Transactions on Computers
Mining Scenario-Based Triggers and Effects
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
SEIM: static extraction of interaction models
Proceedings of the 2nd International Workshop on Principles of Engineering Service-Oriented Systems
Using dynamic execution traces and program invariants to enhance behavioral model inference
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Mining program workflow from interleaved traces
Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining
Synoptic: summarizing system logs with refinement
SLAML'10 Proceedings of the 2010 workshop on Managing systems via log analysis and machine learning techniques
Automatically complementing protocol specifications from network traces
EWDC '11 Proceedings of the 13th European Workshop on Dependable Computing
Leveraging existing instrumentation to automatically infer invariant-constrained models
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Synoptic: studying logged behavior with inferred models
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Mining effective temporal specifications from heterogeneous API data
Journal of Computer Science and Technology - Special issue on Natural Language Processing
Inferring networked system models from behavior traces
Proceedings of the 2012 ACM conference on CoNEXT student workshop
Unifying FSM-inference algorithms through declarative specification
Proceedings of the 2013 International Conference on Software Engineering
Contextual analysis of program logs for understanding system behaviors
Proceedings of the 10th Working Conference on Mining Software Repositories
Hi-index | 0.00 |
Many testing and analysis techniques use finite state models to validate and verify the quality of software systems. Since the specification of such models is complex and time-consuming, researchers defined several techniques to extract finite state models from code and traces. Automatically generating models requires much less effort than designing them, and thus eases the verification and validation of large software systems. However, when models are inferred automatically, the precision of the mining process is critical. Behavioral models mined with imprecise processes can include many spurious behaviors, and can thus compromise the results of testing and analysis techniques that use those models. In this paper, we increase the precision of automata inferred from execution traces, by leveraging two learning techniques. We first mine execution traces to infer statistically significant temporal properties that capture relations between non consecutive and possibly distant events. We then incrementally refine a simple initial automaton by merging likely equivalent states. We identify equivalent states by analyzing set of consecutive events, and we use the inferred temporal properties to evaluate whether two equivalent states can be merged or not. We merge equivalent states only if the merging does violate any temporal property, since a merging that violates temporal properties is likely to introduce an imprecise generalization. Our generalization process that preserves temporal properties while merging states avoids breaking non-local relations, and thus solves one of the major cause of overgeneralized models. Thus, mined properties steer the learning of behavioral models. The technique is completely automated and generates an automaton that both accepts the input traces and satisfies the mined temporal properties. We evaluated our solution by comparing models inferred with and without checking mined temporal properties. Results show that our steering process can significantly improve precision without noticeable loss of recall.