iVis-at-Bilkent / software-artifact-analyzer

SAA: A tool to visually analyze varying software artifacts including source code files, pull requests, issues, and commits, as well as their links and their relationships with developers in a software project to improve the software development process
0 stars 0 forks source link

Software Artifact Analyzer

Software Artifact Analyzer (SAA) is a tool that uses the SAA framework [1], which was developed to quickly build visual analysis tools for software artifact graphs with the aim to improve the software development process. A software artifact graph consists of software artifacts including source code files, pull requests, issues, and commits, as well as their links and their relationships with developers in a software project. Analyzing these graphs provides useful insights into the development process, enabling applications such as expert or reviewer recommendations and detecting process anomalies.

SAA web page, including a demo, a video tutorial, and instructions on usage & customization, may be found here.

Screenshot

SAA was built on a fork of the Visuall toolkit.

[1] Lara Merdol, Eray Tüzün and Ugur Dogrusoz, "SAA: a framework for improving the software development process via visualization-based software analytics", under review, 2024.

License

SAA is open source and is free for academic/non-commercial use only. Please contact developers regarding the terms of use of this software.

Running a local instance

npm install for loading dependencies

node style-generator.js {application description filename} to generate customized application, this changes styles.css and index.html. Notice that the application description file is inside the assets folder.

npm run ng serve for development and debugging

npm run serve-public for making development server accesible on network

npm run ng test for unit tests

npm run ng build to generate a production build, npm run build-prod to generate a minified, uglified production build

npm run ng build and npm run build-prod commands generate files inside dist\ng-visuall folder. An HTTP server should serve these files. You should use server.js file to run a server with command node server.js.

Run Software-Artifact-Analyzer-Configuration Repository:

git clone https://github.com/LaraMerdol/software-artifact-analyzer-configuration.git clone software-artifact-analyzer-configuration repository.

pip install -r requirements.txt install loading python module dependencies

python3 server.py to run the Python module

cd ui go to UI component folder

npm install loading dependencies

npm run build to generate a production build

npm start to run

Credits

Visuall and its dependencies including cytoscape.js.

About

SAA is being developed by i-Vis Research Lab and BILSEN Research Group at Bilkent University.

Team

Lara Merdol, Eray Tüzün and Ugur Dogrusoz

Maintenance

You might want to get updates from the original Visuall repository. To do that, first, add the base project as a remote repo using git remote add base https://github.com/ugurdogrusoz/visuall.git, then fetch commits for that project with git fetch base and then transfer changes of commits using a command such as git cherry-pick fe75f -n.