Our artifact is applicable for the Reusable
and Available
badge. Our artifact is a tool called Automated
Categorizer for Infrastructure as Code Defects (ACID), which automatically identifies defect categories
from repositories with Puppet scripts.
Our artifact is applicable for the Reusable
badge because:
- ACID is functional
- Documentation on how to run ACID is available
- Documentation on ACID's structure is available to facilitate reuse and repurpose
Our artifact is applicable for the Reusable
badge because:
- ACID is functional
- ACID's source code both in a publicly avilable repository (https://github.com/akondrahman/IaC_Defect_Categ_Revamp/tree/master/src_categ_revamp/ACID) and a Docker image (https://hub.docker.com/r/akondrahman/acid-puppet)
- DOI for the ACID is: https://doi.org/10.6084/m9.figshare.8986634
- Install Docker on your computer
- Go to terminal
- run the command
docker pull akondrahman/acid-puppet
- run the command
docker run -it --name acid akondrahman/acid-puppet bash
- run the command
cd /ARTIFACT/IaC_Defect_Categ_Revamp/src_categ_revamp/ACID
- To get the results for test repositories it takes 0.8 minutes to complete. run
python3 main.py
. This command will execute ACID for the test repositories. Upon completion of the analysisEnded at: 2020-0X-XX XX:XX:XX
, andDuration: 0.85513 minutes
will be displayed, which indicates that ACID's execution is complete.
- classifier.py: implementation of the rules that are used by ACID
- constants.py: the constants that are used by ACID
- diff_parser.py: extract code from commits
- excavator.py: uses Mercurial and Git libraries to extract commits and puppet files
- main.py: main script to execute the tool