POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
Multiple instances and symbolic variables in executable sequence charts
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Data Mining: Concepts and Techniques
Data Mining: Concepts and Techniques
From multi-modal scenarios to code: compiling LSCs into aspectJ
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
SMArTIC: towards building an accurate, robust and scalable specification miner
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
S2A: a compiler for multi-modal UML sequence diagrams
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Check it out: on the efficient formal verification of live sequence charts
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Hi-index | 0.00 |
Specification mining is a dynamic analysis process aimed at automatically inferring suggested specifications of a program from its execution traces. We describe a method, a framework, and a tool, for mining inter-object scenario-based specifications in the form of a UML2-compliant variant of Damm and Harel's Live Sequence Charts (LSC), which extends the classical partial order semantics of sequence diagrams with temporal liveness and symbolic class level lifelines, in order to generate compact and expressive specifications. Moreover, we use previous research work and tools developed for LSC to visualize, analyze, manipulate, test, and thus evaluate the scenario-based specifications we mine. Our mining framework is supported by statistically sound metrics. Its effectiveness and the usefulness of the mined scenarios are further improved by an array of extensions to the basic mining algorithm, which include various user-guided filters and abstraction mechanisms. We demonstrate and evaluate our work using a case study.