Published July 29, 2025 | Version v2
Software Open

Artifact for Formalizing Linear Motion G-code for Invariant Checking and Differential Testing of Fabrication Tools

  • 1. ROR icon University of Utah
  • 2. ROR icon University of Washington
  • 3. Certora
  • 4. University of Rochester

Description

This artifact accompanies our paper Yumeng He, Chandrakana Nandi, Sreepathi Pai, "Formalizing Linear Motion G-code for Invariant Checking and Differential Testing of Fabrication Tools", OOPSLA 2025. The paper describes an algorithm for comparing 3D printer G-code files using a novel graphical semantics and comparison algorithm. It contains:

  • Results from our experiments that are used in the paper:
    • from rotation invariant checking experiments, including results from error-free models
    • from mesh repair tools experiments
    • from slicer comparison experiments
  • A Python implementation of our algorithms and some external dependencies
  • Inputs and scripts to re-run our experiments
  • STL Models to use for reproducing our experiments fully

This artifact was tested on Linux and requires machines with large amount of RAM (our machines had 48GB + 32 GB swap and 64GB) to rerun our experiments. It requires about 200GB of disk space uncompressed, more if you want to re-run the experiments fully. Python 3.9 or higher is required (though Python 3.13 does not work). The artifact installs into a virtual environment.

This artifact is divided into three parts:

  1. Source Code and Experimental Setup (this part)
  2. Results of the Invariant Checking Experiments
  3. Results of the Slicer Comparison and Mesh Repair Tools Experiment

This is an updated version containing:

  • Numerous performance improvements
  • Bug fixes to some of the experiment scripts
  • New non-interactive heatmap visualization scripts
  • All data from experiments run on CloudLab.

Files

OOPSLA25-Artifact-Paper459-Doc.pdf

Files (37.0 MB)

Name Size Download all
md5:5f8d6bdc18a94ae51692051872fc0d9b
36.7 MB Download
md5:6912c0e429b6d6bf2a303046bc8c5545
317.4 kB Preview Download

Additional details

Additional titles

Subtitle
Source Code and Experimental Setup

Related works

Has part
Dataset: 10.5281/zenodo.16595033 (DOI)
Dataset: 10.5281/zenodo.16595001 (DOI)