Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

Sulong, and Thanks for All the Bugs: Finding Errors in C Programs by Abstracting from the Native Execution Model

  • Manuel Rigger (Vortragende*r)

Aktivität: Vortrag oder PräsentationVortrag nach Bewerbung und AuswahlScience-to-science

Beschreibung

In C, memory errors, such as buffer overflows, are among the most dangerous software errors; as we show, they are still on the rise. Current dynamic bug-finding tools that try to detect such errors are based on the low-level execution model of the underlying machine. They insert additional checks in an ad-hoc fashion, which makes them prone to omitting checks for corner cases. To address this, we devised a novel approach to finding bugs during the execution of a program. At the core of this approach is an interpreter written in a high-level language that performs automatic checks (such as bounds, NULL, and type checks). By mapping data structures in C to those of the high-level language, accesses are automatically checked and bugs discovered. We have implemented this approach and show that our tool (called Safe Sulong) can find bugs that state-of-the-art tools overlook, such as out-of-bounds accesses to the main function arguments.
Zeitraum27 März 2018
EreignistitelASPLOS '18 Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems Pages 377-391
VeranstaltungstypKonferenz
OrtUSA/Vereinigte StaatenAuf Karte anzeigen

Wissenschaftszweige

  • 102029 Praktische Informatik
  • 102009 Computersimulation
  • 102 Informatik
  • 102011 Formale Sprachen
  • 102022 Softwareentwicklung
  • 102013 Human-Computer Interaction
  • 102024 Usability Research

JKU-Schwerpunkte

  • Computation in Informatics and Mathematics
  • TNF Allgemein