vreAnalyzer: variability analyzer

Download as .zip Download as .tar.gz View on GitHub

vreAnalyzer

vreAnalyzer is a research project with the goal of analyzing variability and extracting variants for product line use. In general, vreAnalyzer provides following analysis for a system in Java/.class based: call graph, control-flow graph, context-aware pointer analysis and binding-resolve.

Instead of analyzing each variant for each feature combination in isolation, vreAnalyzer parses the entire source code containing all variability in a variability-aware fashion. By checking the context, pointer environment and other binding information, vreAnalyzer could return a list of potential variant indifferently.

Installation, Dependency, and Usage

Dependencies: Graphviz, supporing libs for Hadoop. To cope with all types of application using Hadoop, you have to get a collections of all Hadoop libs are input depenencies. Please notice that Soot is already covered in our application. Please notice that, I have raise an issue that soot cannot work with Java 8 code in the forum. I do not know whether this has been resolved yet. Please try code in Java 7 or earlier for safty concern. In vreAnalyer, some graphs are provided to improve understanding of application, please download Graphviz(an open source graph visualization software) to suppor that function.

Usage: As a GUI tool, it would easy to follow. We will provide an online tutorial video later on.

License and Contributing

vreAnalyzer is published as open source under LGPL 3.0, see LICENSE.

You can also think about contribute to vreAnalyzer, write bug reports, contact us,... We are always open for collaborations and extensions and other scenarios.

Technical problem contact: Mr Chris TANG at: csytang(AT)comp.polyu.edu.hk;
Social and collaboration contact: Dr. Hareton Leung at cshleung(AT)comp.polyu.edu.hk;

Download

You can download this project in either zip or tar.gzformats.
You can also clone the project with Git by running:

$ git clone git://github.com/csytang/vreAnalyzer