Patch Specifications via Product Programs
Code patches are the basic blocks of software evolution and thus recent testing and analysis techniques have started to focus on validating them. However, due to lack of specifications, most of these techniques focus on generic errors, such as crashes.
In this idea paper, we propose to adopt product programs, typically used to reason about hyperproperties and program equivalence, as a practical means of writing patch specifications. Such patch specifications could be partial, and they would benefit immediately from existing testing techniques such as fuzzing and symbolic execution.
Future work will investigate the feasibility of automatically generating product programs for real-world code patches, the ease of writing useful patch specifications, and the integration of such patch specifications with existing testing techniques and tools.
Sun 14 MayDisplayed time zone: Hobart change
13:45 - 15:15 | SpecificationFormaliSE 2023 at Meeting Room 102 Chair(s): Larissa A. Meinicke The University of Queensland | ||
13:45 30mPaper | Contract-Based Specification Refinement and Repair for Mission Planning FormaliSE 2023 Piergiuseppe Mallozzi UC Berkeley, Inigo Incer University of California, Berkeley, Pierluigi Nuzzo University of Southern California, Alberto L. Sangiovanni-Vincentelli University of California at Berkeley, USA | ||
14:15 30mPaper | Patch Specifications via Product Programs FormaliSE 2023 Cristian Cadar Imperial College London, UK, Daniel Schemmel Imperial College London, Arindam Sharma Imperial College London | ||
14:45 30mPaper | An Empirical Study Assessing Software Modeling in Alloy FormaliSE 2023 Niloofar Mansoor University of Nebraska-Lincoln, Hamid Bagheri University of Nebraska-Lincoln, Eunsuk Kang Carnegie Mellon University, Bonita Sharif University of Nebraska-Lincoln, USA |