Published January 14, 2024 | Version 1.1.0
Software Open

Artifact - Semantic Analysis of Macro Usage for Portability

  • 1. Pappas
  • 2. Gazzillo


This artifact provides the source code for Maki, a tool for analyzing macro usage portability as described in this artifact's associated paper, Semantic Analysis of Macro Usage for Portability. A copy of the paper is provided. This artifact also contains a dataset with the paper's major results, and a README with instructions on how to build and run Maki to replicate these results.

Abstract (English)

This is the artifact abstract for the ICSE 2024 paper, *Semantic Analysis of Macro Usage for Portability*. This artifact provides the source code of Maki, the tool described in the paper, and instructions on how to run Maki to replicate the results originally reported in the paper. The paper's original results are also included so that one may cross-reference them against the results they obtain while attempting to replicate them.

We claim the **available** and **reusable** badges. We believe this artifact deserves the available badge because it is publicly available on Zenodo at (DOI 10.5281/zenodo.7783131). We believe this artifact deserves the reusable badge because it includes instructions for reproducing all the paper's major results, along with a dataset one may verify them against. This artifact also utilizes Docker to facilitate reuse, as recommended in the ICSE 2024 Call for Artifact Submissions.

A reviewer who wishes to evaluate this artifact must be familiar with Docker and the Linux command line. Clang and Python experience is advised, but not essential. A reviewer will need Docker to run the artifact, and should have a device with at least 8 threads and 8GB of RAM. "Kicking the tires" and replicating a portion of the paper's original results should take about 20 minutes of time and 2GB of storage memory. Replicating the paper's full results would require over two weeks of time and 620GB of storage memory. The artifact does not require any specific operating system or environment to run.

Notes (English)


1.0.0 -> 1.1.0

  • Adds a tar file containing the Docker image so that one may load the image instead of building it.
  • Adds comments containing the expected macro invocation properties for each test case to the end of each test case.
  • Adds instructions on how to export files out of the Docker container to the user's host system.


Semantic Analysis of Macro Usage for Portability -

Files (535.8 MB)

Additional details

Related works

Is cited by
Conference paper: 10.1145/3597503.3623323 (DOI)