Symbolic Object Code Analysis

  • Current software model checkers quickly reach their limit when being applied to verifying pointer safety properties in source code that includes function pointers and inlined assembly. This paper introduces an alternative technique for checking pointer safety violations, called Symbolic Object Code Analysis (SOCA), which is based on bounded symbolic execution, incorporates path-sensitive slicing, and employs the SMT solver Yices as its execution and verification engine. Extensive experimental results of a prototypic SOCA Verifier, using the Verisec suite and almost 10,000 Linux device driver functions as benchmarks, show that SOCA performs competitively to current source-code model checkers and that it also scales well when applied to real operating systems code and pointer safety issues. SOCA effectively explores semantic niches of software that current software verifiers do not reach.

Download full text files

Export metadata

Additional Services

Share in Twitter Search Google Scholar
Institutes:Fakultät Wirtschaftsinformatik und Angewandte Informatik / Lehrstuhl für Praktische Informatik, insbesondere Softwaretechnik und Programmiersprachen
Author:Jan Tobias Mühlberg, Gerald Lüttgen
Place of publication:Bamberg
Year of publication:2010
Pages / Size:19 S. : graph. Darst.
Collections (Serial Number):Bamberger Beiträge zur Wirtschaftsinformatik und Angewandten Informatik (85)
SWD-Keyword:Programmcode ; Zeiger |Informatik| ; Konsistenzprüfung ; Programmtest ; Online-Publikation
Keywords:bounded model checking; linux device drivers; object code analysis; program slicing; symbolic execution
DDC-Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
RVK-Classification:ST 233
Document Type:Variety of texts
Publishing Institution:Otto-Friedrich-Universität Bamberg
Release Date:2010/03/09