Symbolic execution is a popular software testing technique that can help developers identify complex bugs in real-world applications. Unfortunately, symbolic execution may struggle at analyzing programs containing memory-intensive operations, such as memcpy and memset, whenever these operations are carried out over memory blocks whose size or address is symbolic, i.e., input-dependent. In this paper, we devise MInt, a memory model for symbolic execution that can support reasoning over such operations. The key new idea behind our proposal is to make the memory model aware of these memory-intensive operations, deferring any symbolic reasoning on their effects to the time where the program actually manipulates the symbolic data affected by these operations. We show that a preliminary implementation of MInt based on the symbolic framework angr can effectively analyze applications taken from the DARPA Cyber Grand Challenge.

Handling Memory-Intensive Operations in Symbolic Execution / Borzacchiello, Luca; Coppa, Emilio; Demetrescu, Camil. - (2022). (Intervento presentato al convegno 15th Innovations in Software Engineering Conference (ISEC 2022) tenutosi a Gandhinagar, India) [10.1145/3511430.3511453].

Handling Memory-Intensive Operations in Symbolic Execution

Luca Borzacchiello;Emilio Coppa
;
Camil Demetrescu
2022

Abstract

Symbolic execution is a popular software testing technique that can help developers identify complex bugs in real-world applications. Unfortunately, symbolic execution may struggle at analyzing programs containing memory-intensive operations, such as memcpy and memset, whenever these operations are carried out over memory blocks whose size or address is symbolic, i.e., input-dependent. In this paper, we devise MInt, a memory model for symbolic execution that can support reasoning over such operations. The key new idea behind our proposal is to make the memory model aware of these memory-intensive operations, deferring any symbolic reasoning on their effects to the time where the program actually manipulates the symbolic data affected by these operations. We show that a preliminary implementation of MInt based on the symbolic framework angr can effectively analyze applications taken from the DARPA Cyber Grand Challenge.
2022
15th Innovations in Software Engineering Conference (ISEC 2022)
symbolic execution; software testing
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
Handling Memory-Intensive Operations in Symbolic Execution / Borzacchiello, Luca; Coppa, Emilio; Demetrescu, Camil. - (2022). (Intervento presentato al convegno 15th Innovations in Software Engineering Conference (ISEC 2022) tenutosi a Gandhinagar, India) [10.1145/3511430.3511453].
File allegati a questo prodotto
File Dimensione Formato  
Borzacchiello_Handling_2022.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 582.83 kB
Formato Adobe PDF
582.83 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1623944
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? ND
social impact