
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", submitted to OOPSLA. 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 machine had 48GB + 32 GB swap) 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. The artifact installs into a virtual environment. This artifact is divided into three parts: Source Code and Experimental Setup (this part) Results of the Invariant Checking Experiments Results of the Slicer Comparison and Mesh Repair Tools Experiment Updates July 11, 2025: This artifact does not work with Python 3.13, failing to install open3d with a version conflict, stemming from numpy 1.26 not supporting Python 3.13. We recommend using Python 3.9, 3.10, or 3.11.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
