Executable Trigger-Action Comments
Pengyu Nie, Rishabh Rai, Junyi Jessy Li, Sarfraz Khurshid, Raymond J., Mooney, Milos Gligoric

TL;DR
TrigIt is a novel technique that transforms trigger-action comments into executable code, enabling automatic execution of actions based on code conditions during build processes, improving comment relevance and developer efficiency.
Contribution
This paper introduces TrigIt, the first approach to specify trigger-action comments as executable statements in the host language, integrated into build processes for Java projects.
Findings
Successfully migrated 20 trigger-action comments from 8 open-source projects
Evaluated the cost and overhead of using TrigIt in build processes
Demonstrated that TrigIt maintains low overhead and improves comment relevance
Abstract
Natural language elements, e.g., todo comments, are frequently used to communicate among the developers and to describe tasks that need to be performed (actions) when specific conditions hold in the code repository (triggers). As projects evolve, development processes change, and development teams reorganize, these comments, because of their informal nature, frequently become irrelevant or forgotten. We present the first technique, dubbed TrigIt, to specify triggeraction todo comments as executable statements. Thus, actions are executed automatically when triggers evaluate to true. TrigIt specifications are written in the host language (e.g., Java) and are evaluated as part of the build process. The triggers are specified as query statements over abstract syntax trees and abstract representation of build configuration scripts, and the actions are specified as code transformation…
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.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Software System Performance and Reliability
