PIE: A Domain-Specific Language for Interactive Software Development Pipelines
Gabri\"el Konat, Michael J. Steindorfer, Sebastian Erdweg, Eelco, Visser (Delft University of Technology, Netherlands)

TL;DR
PIE is a domain-specific language and runtime designed to simplify the development of interactive software development pipelines, enabling low-latency feedback and persistence with less code and effort.
Contribution
We introduce PIE, a DSL, API, and runtime that makes developing interactive pipelines easier, more concise, and more maintainable compared to existing approaches.
Findings
PIE reduces pipeline code by a factor of 6 in a syntax-aware editor case study.
PIE handles complex interactive pipelines effectively in two case studies.
PIE enables low-latency feedback in IDE environments.
Abstract
Context. Software development pipelines are used for automating essential parts of software engineering processes, such as build automation and continuous integration testing. In particular, interactive pipelines, which process events in a live environment such as an IDE, require timely results for low-latency feedback, and persistence to retain low-latency feedback between restarts. Inquiry. Developing an incrementalized and persistent version of a pipeline is one way to reduce feedback latency, but requires dependency tracking, cache invalidation, and other complicated techniques. Therefore, interactivity complicates pipeline development if timeliness and persistence become responsibilities of the pipeline programmer, rather than being supported by the underlying system. Approach. We develop Pipelines for Interactive Environments (PIE), a Domain-Specific Language (DSL), API, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
