LM: Mining Scenario-Based Specifications
Institute National University of Singapore Department Computer Science People Tuan Anh Doan, David Lo, Shahar Maoz, Siau-Cheng Khoo and Anh Cuong Nguyen Email {anhcuong, specmine} 'at' comp.nus.edu.sg Contact (65) 651-61862
DESCRIPTION LM Miner is a generic specification miner tool for software implementation. LM mines interaction protocols among objects in the format of call sequences. LM supports specifications in one of the following languages:
- Sequential pattern.
- (Past-time) temporal logic.
- UML2-compliant variant of Live Sequence Charts (LSC).
REQUIREMENT
In order to run LM, your system needs to have the following requirements:
- Java 1.5+
- Unix based OS (optional)
EXAMPLE USAGE
This example guides you to use LM Miner to mine LSC specifications of JDepend application. JDepend is an application to measure design quality metrics for a Java software.
- Start up LM application (clicking on lsc-miner.jar or use command java -jar lsc-miner.jar)
- Click on [Mine Java Program] button
- In [Mine Java Program Dialog] type:
- Project Name: jdepend
- Task Name: from java program
- Main Class: jdepend.textui.JDepend
- Classpath: select examples/jdepend-2.9.1.jar
- Input File: select examples/jdepend_input.txt (this file contains two absolute paths, you need to change it to complete paths if you are not in the location we assumed.
- Minimum Support: 3
- Minimum Confidence: 0.5
- Minimum Density: 1.0
- Click [Start Mining]
- Observe Output:
- In [History Panel], project [jdepend] and [traces] are created. They would still be there when you start up LM again. The maximum of displayed projects are 5, which you can set in the preferences.
- In [Main Panel], click on [Mining Parameter] tab to see parameters you have set, click on [Call Traces] to see all collected traces, click on [Live Sequence Charts] tab and click on each row to visualize LSC specifications of JDepend.
DOWNLOAD
This release includes the binary version of LM and some data examples: lm-2.0.7z (21MB) [released on 1st Nov, 2011].
The zipped file is secured with a password. As a faculty policy, we are asked to know your purpose for downloading the tool. Please help us to fill up the following form, and a password will be shown to you. You may need to read our term of usage before proceeding with the dowload.
FREQUENTLY ASKED QUESTIONS
-
What is the meaning of blue and red arrows in the LSC visualization?
The blue arrow denotes a call that may happen. The red arrows denotes a call that must happen, if all the calls in blue arrows are invoked in the respective orders. -
For mining from Java application, what do I need to provide in the input file box?
You need to provide an input file that contain a set of input argument strings of the application main class, each in a new line. -
What is minimum density?
Density is the overall ratio of un-duplicated events over all events. LM can run more efficiently when you set minimum density to 1.0 (all events are distinct). In some cases where the traces contain repeated events (which is usually the case because program can contain loops), the number of mined rules can be huge. Set high density will significantly reduce the number of mined rules, improve LM performance and still guarantee interesting rules are mined (assume that rules with too many repeated events are normally less interesting).
-
LM: A Miner for Scenario-Based Specifications [Tool Paper]
Tuan Anh Doan, David Lo, Shahar Maoz and Siau-Cheng Khoo
In 32nd International Conference on Software Engineering (ICSE'10), Cape Town, South Africa, May 2010
[Abstract] [Text]
Last updated on 1st Nov, 2011.