2007 · 71 citations · 13 references
ComputingComputer EngineeringComputer ScienceDiagrammingFormal MethodsModel-based Systems EngineeringSoftware DesignSpecification LanguagesSymbolic ExecutionExecution Trace AnalysisReactive SystemsScenario MiningSearch Space PruningSequence DiagramsSpecification MiningStatistical Significance ThresholdsUml Sequence Diagrams
Specification mining is a dynamic analysis process aimed at automatically inferring suggested specifications of a program from its execution traces. We describe a novel method, framework, and tool, for mining inter-object scenario-based specifications in the form of a UML2-compliant variant of Damm and Harels Live Sequence Charts (LSC). LSC 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. The output of our algorithm is a sound and complete set of statistically significant LSCs (i.e., satisfying given thresholds of support and confidence), mined from an input execution trace. We locate statistically significant LSCs by exploring the search space of possible LSCs and checking for their statistical significance. In addition, we use an effective search space pruning strategy, specifically adapted to LSCs, which enables efficient mining of scenarios of arbitrary size. We demonstrate and evaluate the utility of our work in mining informative specifications using a case study on Jeti, a popular, full featured messaging application
13
Data mining: concepts and techniques
Jiawei Han, Micheline Kamber · Choice Reviews Online · 2012 · 28.9K citations
LSCs: Breathing Life into Message Sequence Charts
Werner Damm, David Harel · Formal Methods in System Design · 2001 · 822 citations
Glenn Ammons, Rastislav Bodík, James R. Larus · 2002 · 669 citations · Full text
Jinlin Yang, David Evans, Deepali Bhardwaj et al. · 2006 · 406 citations