Wed 21 Jun 2023 17:20 - 17:40 at Royal - PLDI: Hardware & Systems Chair(s): Zachary Tatlock

3D Computer-Aided Design (CAD) modeling is ubiquitous in mechanical engineering and design. Modern CAD models are programs that produce geometry and can be used to implement high-level geometric changes by modifying input parameters. While there has been a surge of recent interest in program-based tooling for the CAD domain, one fundamental problem remains unsolved. CAD programs pass geometric arguments to operations using references, which are queries that select elements from the constructed geometry according to programmer intent. The challenge is designing reference semantics that can express programmer intent across all geometric topologies achievable with model parameters, including topologies where the desired elements are not present. In current systems, both users and automated tools may create invalid models when parameters are changed, as references to geometric elements are lost or silently and arbitrarily switched. While existing CAD systems use heuristics to attempt to infer user intent in cases of this undefined behavior, this best-effort solution is not suitable for constructing automated tools to edit and optimize CAD programs. We analyze the failure modes of existing referencing schemes and formalize a set of criteria on which to evaluate solutions to the CAD referencing problem. In turn, we propose a domain-specific language that exposes references as a first-class language construct, using user-authored queries to introspect element history and define references safely over all paths. We give a semantics for fine-grained element lineage that can subsequently be queried; and show that our language meets the desired properties. Finally, we provide an implementation of a lineage-based referencing system in a 2.5D CAD kernel, demonstrating realistic referencing scenarios and illustrating how our system safely represents models that cause reference breakage in existing CAD systems.

Wed 21 Jun

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 18:00
PLDI: Hardware & SystemsPLDI Research Papers at Royal
Chair(s): Zachary Tatlock University of Washington

#pldi-wed-1600-hardware-royal Discord icon small YouTube icon small

16:00
20m
Talk
Loop Rerolling for Hardware Decompilation
PLDI Research Papers
Zachary Sisco UC Santa Barbara, Jonathan Balkind UC Santa Barbara, Timothy Sherwood University of California at Santa Barbara, Ben Hardekopf University of California at Santa Barbara
DOI
16:20
20m
Talk
Memento: A Framework for Detectable Recoverability in Persistent Memory
PLDI Research Papers
Kyeongmin Cho KAIST, Seungmin Jeon KAIST, Azalea Raad Imperial College London, Jeehoon Kang KAIST
DOI
16:40
20m
Talk
Cutting the Cake: A Language for Fair Division
PLDI Research Papers
Noah Bertram Cornell University, Alex Levinson Cornell University, Justin Hsu Cornell University
DOI
17:00
20m
Talk
cuCatch: A Debugging Tool for Efficiently Catching Memory Safety Violations in CUDA Applications
PLDI Research Papers
DOI Pre-print
17:20
20m
Talk
A Lineage-Based Referencing DSL for Computer-Aided Design
PLDI Research Papers
Dan Cascaval University of Washington, Rastislav Bodík Google Research, Brain Team, Adriana Schulz University of Washington
DOI Pre-print
17:40
20m
Talk
A Type System for Safe Intermittent Computing
PLDI Research Papers
Milijana Surbatovich Carnegie Mellon University, Naomi Spargo Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University, USA
DOI