159 Hits in 5.8 sec

Practical Program Repair via Bytecode Mutation [article]

Ali Ghanbari, Lingming Zhang
2018 arXiv   pre-print
In this paper, we implement the first practical bytecode-level APR technique, PraPR, and present the first extensive study on fixing real-world bugs (e.g., Defects4J bugs) using bytecode mutation.  ...  Automated Program Repair (APR) is one of the most recent advances in automated debugging, and can directly produce patches for buggy programs with minimal human intervention.  ...  We implement a simplistic, yet practically effective, program repair technique via bytecode mutation, PraPR, for JVM-based programming languages. • Study.  ... 
arXiv:1807.03512v1 fatcat:2fbiqtlhznd43egqwejbzxrnrq

Fast and Precise On-the-fly Patch Validation for All [article]

Lingchao Chen, Lingming Zhang
2020 arXiv   pre-print
Generate-and-validate (G&V) automated program repair (APR) techniques have been extensively studied during the past decade.  ...  , UniAPR addresses the imprecise patch validation issue by resetting the JVM global state via runtime bytecode transformation.  ...  CONCLUSION Automated program repair (APR) has been extensively studied in the last decade, and various APR systems/tools have been proposed.  ... 
arXiv:2007.11449v1 fatcat:zx7t6g4shrarrhwvgqftwra72u

Finch: A System for Evolving Java (Bytecode) [chapter]

Michael Orlov, Moshe Sipper
2010 Genetic Programming Theory and Practice VIII  
This is in contrast to existing work that uses restricted subsets of the Java bytecode instruction set as a representation language for individuals in genetic programming.  ...  The ability to evolve Java programs will hopefully lead to a valuable new tool in the software engineer's toolkit.  ...  The requirements for correct bytecode mutation are thus derived from those of compatible crossover.  ... 
doi:10.1007/978-1-4419-7747-2_1 fatcat:c7ho25dcybdehlixpw6lyv2374

Representations and operators for improving evolutionary software repair

Claire Le Goues, Westley Wemer, Stephanie Forrest
2012 Proceedings of the fourteenth international conference on Genetic and evolutionary computation conference - GECCO '12  
design, (3) mutation operators, and (4) search space definition.  ...  Our results provide concrete suggestions for operator and representation design choices for evolutionary program repair.  ...  The semantic check is a special case of the operators proposed by Orlov and Sipper for well-typed Java bytecode mutation [19] , applied to weakly typed C programs.  ... 
doi:10.1145/2330163.2330296 dblp:conf/gecco/GouesWF12 fatcat:yzj5xyescbfrzjkls4c5gaah6y

Flight of the FINCH Through the Java Wilderness

Michael Orlov, Moshe Sipper
2011 IEEE Transactions on Evolutionary Computation  
We describe Fertile Darwinian Bytecode Harvester (FINCH), a methodology for evolving Java bytecode, enabling the evolution of extant, unrestricted Java programs, or programs in other languages that compile  ...  to Java bytecode.  ...  But we have yet to see such a GP implementation in practice, addressing real-world programming problems. We cannot emphasize the distinction between syntax and semantics strongly enough.  ... 
doi:10.1109/tevc.2010.2052622 fatcat:tdp6wsr27zbuzmyazmcxoxddwa

Can Automated Program Repair Refine Fault Localization? [article]

Yiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang, Dan Hao, Lu Zhang
2019 arXiv   pre-print
Although fault localization and program repair are inherently connected, we observe that in the literature their only connection is that program repair techniques usually use off-the-shelf fault localization  ...  Lastly, we show that ProFL can further boost state-of-the-art fault localization via both unsupervised and supervised learning.  ...  techniques, opening a new dimension for fault localization via program repair.  ... 
arXiv:1910.01270v1 fatcat:iuj4uouxkbgv7euj2tq3wrxuem

Program Repair: Automated vs. Manual [article]

Quanjun Zhang, Yuan Zhao, Weisong Sun, Chunrong Fang, Ziyuan Wang, Lingming Zhang
2022 arXiv   pre-print
) can improve manual program repair.  ...  performance, while they generally lack confidence about the usability in practice.  ...  These techniques generate patches by mutating a buggy program, similar to mutation testing [45] .  ... 
arXiv:2203.05166v1 fatcat:z5vvbvzt6zd33is6iewszedgfq

Leveraging program equivalence for adaptive program repair: Models and first results

Westley Weimer, Zachary P. Fry, Stephanie Forrest
2013 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE)  
Generate-and-validate program repair is shown to be a dual of mutation testing, directly suggesting possible cross-fertilization.  ...  Automated program repair is a promising approach for reducing cost, and many methods have recently demonstrated positive results.  ...  ACKNOWLEDGMENTS The authors are sincerely grateful to Jeff Offutt and Paul Amman for insightful discussions of the mutation testing aspect of this work.  ... 
doi:10.1109/ase.2013.6693094 dblp:conf/kbse/WeimerFF13 fatcat:qfitdmikhvgwro4xbymxeycb34

Toward Speeding up Mutation Analysis by Memoizing Expensive Methods [article]

Ali Ghanbari, Andrian Marcus
2021 arXiv   pre-print
We implemented MeMu on top of PITest, a well-known JVM bytecode-level mutation analysis system, and obtained, on average, an 18.15% speed-up over PITest, in the execution time of the mutants for 12 real-world  ...  These promising results and the fact that MeMu could also be used for other applications that involve repeated execution of tests (e.g., automatic program repair and regression testing), strongly support  ...  We used PITest [18] , a state-of-the-art JVM bytecode-based mutation analysis system.  ... 
arXiv:2102.11559v1 fatcat:by6lre6l2jak5dsuqt4nrdku4u

DifFuzz: Differential Fuzzing for Side-Channel Analysis [article]

Shirin Nilizadeh, Yannic Noller, Corina S. Pasareanu
2019 arXiv   pre-print
Side-channel attacks allow an adversary to uncover secret program data by observing the behavior of a program with respect to a resource, such as execution time, consumed memory or response size.  ...  The methodology of DifFuzz is general and can be applied to programs written in any language.  ...  Fig. 1: Overview of DIFFUZZ approach. initial seed files queue mutate repeatedly mutated files that showed (new) interesting behavior assess input for instrumented program P parse input  ... 
arXiv:1811.07005v2 fatcat:xkw5wlwvefaeta7jk2sunjoohq

Automated analog circuit synthesis using a linear representation [chapter]

Jason D. Lohn, Silvano P. Colombano
1998 Lecture Notes in Computer Science  
The worker nodes decode the individuals into SPICE netlists which are then fed into SPICE via FIFO pipes to minimize disk activity.  ...  The crossover and mutation (per locus) rates were set at 0.8 and 0.2 respectively. An overview of the evaluation process is depicted in Fig. 2 .  ... 
doi:10.1007/bfb0057614 fatcat:bdn45ipgw5fqli7m54nznuauim

CFAAR: Control Flow Alteration to Assist Repair [article]

Chadi Trad, Rawad Abou Assi, Wes Masri, Fadi Zaraket
2018 arXiv   pre-print
We present CFAAR, a program repair assistance technique that operates by selectively altering the outcome of suspicious predicates in order to yield expected behavior.  ...  CFAAR is applicable to defects that are repairable by negating predicates under specific conditions.  ...  ] [26] [27] , and program mutation [8] .  ... 
arXiv:1808.09229v1 fatcat:7a2qzdmi55hjthtmkxqvoco2rq

Angelic debugging

Satish Chandra, Emina Torlak, Shaon Barman, Rastislav Bodik
2011 Proceeding of the 33rd international conference on Software engineering - ICSE '11  
Our symbolic method approximates an ideal approach to fixing bugs mechanically, which is to search the space of all edits to the program for one that repairs the failing test without breaking any passing  ...  Our experiments with this technique show promise of its applicability in speeding up program debugging.  ...  Mutation Testing. The goal of mutation testing [8] is to enhance the adequacy of a passing test suite for a program.  ... 
doi:10.1145/1985793.1985811 dblp:conf/icse/ChandraTBB11 fatcat:dtf4vpgnsfb7lev3tvzstijcru

Identifying a Unifying Mechanism for the Implementation of Concurrency Abstractions on Multi-language Virtual Machines [chapter]

Stefan Marr, Theo D'Hondt
2012 Lecture Notes in Computer Science  
Our survey of parallel and concurrent programming concepts identifies concurrency abstractions as the ones benefiting most from support in a VM.  ...  Supporting all known abstractions for concurrent and parallel programming in a virtual machines (VM) is a futile undertaking, but it is required to give programmers appropriate tools and performance.  ...  Thus, a Java program can mutate a supposedly immutable object of another language.  ... 
doi:10.1007/978-3-642-30561-0_13 fatcat:bciuuqrsgrfalk7k5wnpslwviq

Garbage collection and local variable type-precision and liveness in Java virtual machines

Ole Agesen, David Detlefs, J. Eliot Moss
1998 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation - PLDI '98  
We can provide type-precision information via tags that make stack frames and their contents selfdescribing.  ...  Even with the Java programming language's strong typing, it turns out that the JVM specification has a feature that makes type-precise root sets difficult to compute.  ...  Such programs would be exceedingly unlikely to occur in practice.  ... 
doi:10.1145/277650.277738 dblp:conf/pldi/AgesenDM98 fatcat:5prjephizfcshoki422o6huf7m
« Previous Showing results 1 — 15 out of 159 results