LDMBL: An architecture for reducing code duplication in heavyweight binary instrumentations. (26th June 2018)
- Record Type:
- Journal Article
- Title:
- LDMBL: An architecture for reducing code duplication in heavyweight binary instrumentations. (26th June 2018)
- Main Title:
- LDMBL: An architecture for reducing code duplication in heavyweight binary instrumentations
- Authors:
- Momeni, Behnam
Kharrazi, Mehdi - Abstract:
- Summary: Emergence of instrumentation frameworks has vastly contributed to the software engineering practices. As the instrumentation use cases become more complex, complexity of instrumenting programs also increases, leading to a higher risk of software defects, increased development time, and decreased maintainability. In security applications such as symbolic execution and taint analysis, which need to instrument a large number of instruction types, this complexity is prominent. This paper presents an architecture based on the Pin binary instrumentation framework to abstract the low‐level OS and hardware‐dependent implementation details, facilitate code reuse in heavyweight instrumentation use cases, and improve instrumenting program development time. Instructions of x86 and x86‐64 hardware architectures are formally categorized using the Z language based on the Pin framework API. This categorization is used to automate the instrumentation phase on the basis of a configuration list. Furthermore, instrumentation context data such as register data are modeled in an object‐oriented scheme. This makes it possible to focus the instrumenting program development time on writing the essential analysis logics while access to low‐level OS and hardware dependencies are streamlined. The proposed architecture is evaluated by instrumenting 135 instruction types in a concrete symbolic execution engine, resulting in a reduction of the instrumenting program size by 59.7 % . Furthermore,Summary: Emergence of instrumentation frameworks has vastly contributed to the software engineering practices. As the instrumentation use cases become more complex, complexity of instrumenting programs also increases, leading to a higher risk of software defects, increased development time, and decreased maintainability. In security applications such as symbolic execution and taint analysis, which need to instrument a large number of instruction types, this complexity is prominent. This paper presents an architecture based on the Pin binary instrumentation framework to abstract the low‐level OS and hardware‐dependent implementation details, facilitate code reuse in heavyweight instrumentation use cases, and improve instrumenting program development time. Instructions of x86 and x86‐64 hardware architectures are formally categorized using the Z language based on the Pin framework API. This categorization is used to automate the instrumentation phase on the basis of a configuration list. Furthermore, instrumentation context data such as register data are modeled in an object‐oriented scheme. This makes it possible to focus the instrumenting program development time on writing the essential analysis logics while access to low‐level OS and hardware dependencies are streamlined. The proposed architecture is evaluated by instrumenting 135 instruction types in a concrete symbolic execution engine, resulting in a reduction of the instrumenting program size by 59.7 % . Furthermore, performance overhead measure against the SPEC CINT2006 programs is limited to 8.7 % . … (more)
- Is Part Of:
- Software, practice & experience. Volume 48:Number 9(2018)
- Journal:
- Software, practice & experience
- Issue:
- Volume 48:Number 9(2018)
- Issue Display:
- Volume 48, Issue 9 (2018)
- Year:
- 2018
- Volume:
- 48
- Issue:
- 9
- Issue Sort Value:
- 2018-0048-0009-0000
- Page Start:
- 1642
- Page End:
- 1659
- Publication Date:
- 2018-06-26
- Subjects:
- dynamic binary instrumentation -- heavyweight instrumentation -- Pin‐based architecture -- Z language specification
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.2602 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 7147.xml