VERMEER: A Tool for Tracing and Explaining Faulty C Programs

Daniel Schwartz-Narbonne, Chanseok Oh, Martin Schaf, Thomas Wies

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present VERMEER, a new automated debugging tool for C. VERMEER combines two functionalities: (1) a dynamic tracer that produces a linearized trace from a faulty C program and a given test input; and (2) a static analyzer that explains why the trace fails. The tool works in phases that simplify the input program to a linear trace, which is then analyzed using an automated theorem prover to produce the explanation. The output of each phase is a valid C program. VERMEER is able to produce useful explanations of non trivial traces for real C programs within a few seconds. The tool demo can be found at http://youtu.be/E5lKHNJVerU.

Original languageEnglish (US)
Title of host publicationProceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015
PublisherIEEE Computer Society
Pages737-740
Number of pages4
Volume2
ISBN (Print)9781479919345
DOIs
StatePublished - Aug 12 2015
Event37th IEEE/ACM International Conference on Software Engineering, ICSE 2015 - Florence, Italy
Duration: May 16 2015May 24 2015

Other

Other37th IEEE/ACM International Conference on Software Engineering, ICSE 2015
CountryItaly
CityFlorence
Period5/16/155/24/15

ASJC Scopus subject areas

  • Software

Cite this

Schwartz-Narbonne, D., Oh, C., Schaf, M., & Wies, T. (2015). VERMEER: A Tool for Tracing and Explaining Faulty C Programs. In Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015 (Vol. 2, pp. 737-740). [7203056] IEEE Computer Society. https://doi.org/10.1109/ICSE.2015.236

VERMEER : A Tool for Tracing and Explaining Faulty C Programs. / Schwartz-Narbonne, Daniel; Oh, Chanseok; Schaf, Martin; Wies, Thomas.

Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015. Vol. 2 IEEE Computer Society, 2015. p. 737-740 7203056.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Schwartz-Narbonne, D, Oh, C, Schaf, M & Wies, T 2015, VERMEER: A Tool for Tracing and Explaining Faulty C Programs. in Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015. vol. 2, 7203056, IEEE Computer Society, pp. 737-740, 37th IEEE/ACM International Conference on Software Engineering, ICSE 2015, Florence, Italy, 5/16/15. https://doi.org/10.1109/ICSE.2015.236
Schwartz-Narbonne D, Oh C, Schaf M, Wies T. VERMEER: A Tool for Tracing and Explaining Faulty C Programs. In Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015. Vol. 2. IEEE Computer Society. 2015. p. 737-740. 7203056 https://doi.org/10.1109/ICSE.2015.236
Schwartz-Narbonne, Daniel ; Oh, Chanseok ; Schaf, Martin ; Wies, Thomas. / VERMEER : A Tool for Tracing and Explaining Faulty C Programs. Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015. Vol. 2 IEEE Computer Society, 2015. pp. 737-740
@inproceedings{104770ac7fc44f2a95b918127cd29eca,
title = "VERMEER: A Tool for Tracing and Explaining Faulty C Programs",
abstract = "We present VERMEER, a new automated debugging tool for C. VERMEER combines two functionalities: (1) a dynamic tracer that produces a linearized trace from a faulty C program and a given test input; and (2) a static analyzer that explains why the trace fails. The tool works in phases that simplify the input program to a linear trace, which is then analyzed using an automated theorem prover to produce the explanation. The output of each phase is a valid C program. VERMEER is able to produce useful explanations of non trivial traces for real C programs within a few seconds. The tool demo can be found at http://youtu.be/E5lKHNJVerU.",
author = "Daniel Schwartz-Narbonne and Chanseok Oh and Martin Schaf and Thomas Wies",
year = "2015",
month = "8",
day = "12",
doi = "10.1109/ICSE.2015.236",
language = "English (US)",
isbn = "9781479919345",
volume = "2",
pages = "737--740",
booktitle = "Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - VERMEER

T2 - A Tool for Tracing and Explaining Faulty C Programs

AU - Schwartz-Narbonne, Daniel

AU - Oh, Chanseok

AU - Schaf, Martin

AU - Wies, Thomas

PY - 2015/8/12

Y1 - 2015/8/12

N2 - We present VERMEER, a new automated debugging tool for C. VERMEER combines two functionalities: (1) a dynamic tracer that produces a linearized trace from a faulty C program and a given test input; and (2) a static analyzer that explains why the trace fails. The tool works in phases that simplify the input program to a linear trace, which is then analyzed using an automated theorem prover to produce the explanation. The output of each phase is a valid C program. VERMEER is able to produce useful explanations of non trivial traces for real C programs within a few seconds. The tool demo can be found at http://youtu.be/E5lKHNJVerU.

AB - We present VERMEER, a new automated debugging tool for C. VERMEER combines two functionalities: (1) a dynamic tracer that produces a linearized trace from a faulty C program and a given test input; and (2) a static analyzer that explains why the trace fails. The tool works in phases that simplify the input program to a linear trace, which is then analyzed using an automated theorem prover to produce the explanation. The output of each phase is a valid C program. VERMEER is able to produce useful explanations of non trivial traces for real C programs within a few seconds. The tool demo can be found at http://youtu.be/E5lKHNJVerU.

UR - http://www.scopus.com/inward/record.url?scp=84951832365&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84951832365&partnerID=8YFLogxK

U2 - 10.1109/ICSE.2015.236

DO - 10.1109/ICSE.2015.236

M3 - Conference contribution

SN - 9781479919345

VL - 2

SP - 737

EP - 740

BT - Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015

PB - IEEE Computer Society

ER -