Extracting Visual Contracts from Sequential Java Programs

Extracting Visual Contracts from Sequential Java Programs:

Sources, data and results


This page provides links to some original data used in the evaluation and a standalone lite version of our tool (demo) to browse extracted contracts from the three case studies.

Utility case study used to assess test reports and localising faults



Visualising extracted contract

We have exported the constructed contracts from our main (mySQL) databse into three ms-access files, see table below. Please download (click here) and run the lite version of our visualiser tool first and then select one of the database files to display their contracts. We also provide orignal source codes with test coverge reports based on executing test cases and (excel) spreadsheets that we used for measurement and analysis.

Note : Running our tool rquires only a recent Java Virtual Machine (1.7 or later) to be installed.

Database file Source code with
Test coverage report
Excel spreadsheet
in xlsx format
Extracted contracts
in Henshin format
Car Rental Agency Service view RentalCar.xlsx RentalCar.henshin
NanoXML-2.2.1 view nanoXML.xlsx nanoXML.henshin
JHotDraw -5.3 view JHotDraw.xlsx JHotDraw.henshin


Executing Visualiser Tool (LVC.jar file)

Try to 'double click' on LVC.jar or by right click then find an option, e.g., 'run as' by JRE.
Alternatively, you could use terminal/command application. You'll need to navigate to the directory (folder) where the 'LVC.jar' is placed, and then type the following command:

java -jar LVC.jar


Once 'LVC.jar' is running, just select one of the attached database files, e.g., Car Rental Agency Service as showin in the figure below:



Now you should be able to see the two options in the top left as :



UI-Visualise rule instances



UI-Visualise generalised rules




Note:

we suggest to use tree-layout when visualising large rules that may contain more than one hundred objects as the ones below, you may need to wait few seconds for the process.






© May 2015, Department of Computer Science, University of Leicester