Skip to content

CustomDIFF is a web-based Visual Analytics tool for Software Product Lines Customization Analysis. CustomDIFF uses pure::variants and Git as the variability manager and code repository, respectively.

License

onekin/CustomDiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CustomDiff

CustomDIFF is a web-based Visual Analytics tool for Software Product Lines Customization Analysis. CustomDIFF uses pure::variants and Git as the variability manager and code repository, respectively.
The application is implemented in two different modules: (1) the visualization module, available in this repository and (2) the data mining module, available at https://github.com/onekin/git2spldb

There is a video demo available at: https://vimeo.com/577936099
Online demo available at: http://customdiff.onekin.org

CustomDIFF has been accepted to be published in EMSE Journal in the work "Visualizing the Customization Effort in Product-Based-Evolving SPLs: A Case of Action Design Research"

Acknowledgements

This work uses the following librariers:

Installation & Usage

With Docker

The easiest way of running CustomDIFF with the replication data is using Docker:

  1. Download and install docker on your computer
  2. Open a terminal in the root of the project
  3. run docker-compose up

In this way the web application will be launched in localhost (by default the app will be running on port 9091) and the customization data available for visualization will be that of the WeatherStationSPL.

Manually

Importing into IDE

CustomDIFF visualization module is a Maven project. You can import it into your favorite IDE as you do with any other Maven project.
Here you can find some guides on how to import a Maven project into the two most popular Java IDEs:

Setting up the DataBase

  1. Download MySQL database
  2. Create the DB schema used in CustomDIFF, to this end use the schema creation script available at the inserts folder
  3. After creating the schema you have two options, import the data about the customizations of the WeatherStationSPL or generate your own data using Git2SPLDB mining module

Running

If you want to build and run CustomDIFF on your own, you have to follow these steps:

  1. Set up your database connection and, your HTTP port in the application.properties file.

  2. Package the jar using Maven:

    $ mvn package

  3. Run the jar with Java:

    $ java -jar target/CustomDiff-[VERSION].jar

  4. Open your browser and enjoy CustomDIFF :)

Contributing

###TODOS

  • Currently, only feature and product "node" customization effort visualizations are implemented. Contributors are welcome to implement other node visualizations (e.g. parent features or feature siblings).
  • ALL PRODUCTS and ALL FEATURES labels should not be clickable, currently this is performed programatically, but it also should be performed in the interface. Contributors are welcome to implement a style change on these two labels.
  • After resizing the browser window reinitialize all event handlers. Now some are lost and you have to reload the page in order to enable them.
  • Contributors are also welcome to add this TODOs as issues inside the github repository.

Contact

If you have any troubles setting up CustomDIFF create an issue or contact raul.medeiros[at]ehu.eus

About

CustomDIFF is a web-based Visual Analytics tool for Software Product Lines Customization Analysis. CustomDIFF uses pure::variants and Git as the variability manager and code repository, respectively.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published