2021
DOI: 10.1109/tse.2019.2931000
|View full text |Cite
|
Sign up to set email alerts
|

Finding Substitutable Binary Code By Synthesizing Adapters

Abstract: Independently developed codebases typically contain many segments of code that perform same or closely related operations (semantic clones). Finding functionally equivalent segments enables applications like replacing a segment by a more efficient or more secure alternative. Such related segments often have different interfaces, so some glue code (an adapter) is needed to replace one with the other. We present an algorithm that searches for replaceable code segments at the function level by attempting to synth… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2021
2021
2021
2021

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(2 citation statements)
references
References 55 publications
(80 reference statements)
0
2
0
Order By: Relevance
“…In his thesis, Bartolomei [42] proposes design principles for wrapper-based migration. Sharma and colleagues [61] wrote a tool that synthesizes adapters to replace functions that provide similar features, one by another, inside a given project. Previous projects slf4j [43] or micrometer [62] implement such a family of adapters for reservoirs of logging and metric libraries.…”
Section: Library Migrationmentioning
confidence: 99%
“…In his thesis, Bartolomei [42] proposes design principles for wrapper-based migration. Sharma and colleagues [61] wrote a tool that synthesizes adapters to replace functions that provide similar features, one by another, inside a given project. Previous projects slf4j [43] or micrometer [62] implement such a family of adapters for reservoirs of logging and metric libraries.…”
Section: Library Migrationmentioning
confidence: 99%
“…Technically, CROW is significantly different from recent work on automated software diversity. Compared to Sharma et al [53], we synthesize code instead of finding existing functionally equivalent code. Compared to Österlund et al [45], we perform software diversification for the upper end of the software stack, the browser, and not at the low level of the operating system.…”
Section: Introductionmentioning
confidence: 99%