2013
DOI: 10.1145/2499368.2451151
|View full text |Cite
|
Sign up to set email alerts
|

Automated repair of binary and assembly programs for cooperating embedded devices

Abstract: We present a method for automatically repairing arbitrary software defects in embedded systems, which have limited memory, disk and CPU capacities, but exist in great numbers. We extend evolutionary computation (EC) algorithms that search for valid repairs at the source code level to assembly and ELF format binaries, compensating for limited system resources with several algorithmic innovations. Our method does not require access to the source code or build toolchain of the software under repair, does not requ… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
19
0

Year Published

2013
2013
2019
2019

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 13 publications
(19 citation statements)
references
References 24 publications
0
19
0
Order By: Relevance
“…Axis [37] and AFix [25] focus on automatically fixing atomicity violations. Schulte et al [52][53][54] propose evolutionary algorithms to repair programs. GenProg [32] and Par [29] propose genetic-programming methods for patching.…”
Section: A Automatic Patchingmentioning
confidence: 99%
“…Axis [37] and AFix [25] focus on automatically fixing atomicity violations. Schulte et al [52][53][54] propose evolutionary algorithms to repair programs. GenProg [32] and Par [29] propose genetic-programming methods for patching.…”
Section: A Automatic Patchingmentioning
confidence: 99%
“…As with any sampling-based approach, these techniques are subject to aliasing if the metric varies too rapidly relative to the sampling interval, as discussed in chapter 3. In these cases, the profile may be smoothed via convolution to distribute the recorded metric over nearby instructions [154]. However, certain metrics such as execution counts are not affected by the recording overhead, and may therefore be collected exactly.…”
Section: Profilingmentioning
confidence: 99%
“…Instead, we adopt a patch-based representation [166,167] in which genomes consist of list of transformations that, when applied to the original program, produce the desired variant. Similar to previous work [154,155], we implement three kinds of transformations to assembly programs: delete a line, swap two lines, and copy a line into a new location. The "target" of a transformation is the location of the line to be deleted, of either line to be swapped, or of the line after which a new line is to be copied.…”
Section: Post-compiler Representationmentioning
confidence: 99%
See 2 more Smart Citations