Please use this identifier to cite or link to this item: http://hdl.handle.net/1893/35130
Appears in Collections:Computing Science and Mathematics Journal Articles
Peer Review Status: Refereed
Title: Program Transformation Landscapes for Automated Program Modification Using Gin
Author(s): Petke, Justyna
Alexander, Brad
Barr, Earl T
Brownlee, Alexander
Wagner, Markus
White, David
Contact Email: alexander.brownlee@stir.ac.uk
Keywords: Automated Program Modification
Genetic Improvement
Automated Program Repair
Search-Based Software Engineering
Date Deposited: 23-May-2023
Citation: Petke J, Alexander B, Barr ET, Brownlee A, Wagner M & White D (2023) Program Transformation Landscapes for Automated Program Modification Using Gin. <i>Empirical Software Engineering</i>.
Abstract: Automated program modification underlies two successful research areas-genetic improvement and program repair. Under the generate-and-validate strategy, automated program modification transforms a program, then validates the result against a test suite. Much work has focused on the search space of application of single fine-grained operators-copy, delete, replace , and swap at both line and statement granularity. This work explores the limits of this strategy. We scale up existing findings an order of magnitude from small corpora to 10 real-world Java programs comprising up to 500k LoC. We decisively show that the grammar-specificity of statement granular edits pays off: its pass rate triples that of line edits and uses 10% less computational resources. We confirm previous findings that delete is the most effective operator for creating test-suite equivalent program variants. We go farther than prior work by exploring the limits of delete's effectiveness by exhaustively applying it. We show this strategy is too costly in practice to be used to search for improved software variants. We further find that pass rates drop from 12-34% for single statement edits to 2-6% for 5-edit sequences, which implies that further progress will need human-inspired operators that target specific faults or improvements. A program is amenable to automated modification to the extent to which automatically editing it is likely to produce test-suite passing variants. We are the first to systematically search for a code measure that correlates with a program's amenability to automated modification. We found no strong correlations , leaving the question open.
Rights: This item has been embargoed for a period. During the embargo please use the Request a Copy feature at the foot of the Repository record to request a copy directly from the author. You can only request a copy if you wish to use this work for your own research or private study.
Notes: Output Status: Forthcoming
Licence URL(s): https://storre.stir.ac.uk/STORREEndUserLicence.pdf

Files in This Item:
File Description SizeFormat 
Petke-etal-ESE-2023.pdfFulltext - Accepted Version731 kBAdobe PDFUnder Embargo until 2026-05-23    Request a copy

Note: If any of the files in this item are currently embargoed, you can request a copy directly from the author by clicking the padlock icon above. However, this facility is dependent on the depositor still being contactable at their original email address.



This item is protected by original copyright



Items in the Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

The metadata of the records in the Repository are available under the CC0 public domain dedication: No Rights Reserved https://creativecommons.org/publicdomain/zero/1.0/

If you believe that any material held in STORRE infringes copyright, please contact library@stir.ac.uk providing details and we will remove the Work from public display in STORRE and investigate your claim.