The TAU Programming Languages and Systems Seminar - A context-sensitive memory model for software model checking

Arie Gurfinkel

05 בנובמבר 2017, 12:30 
בניין שרייבר, חדר 309 
הרצאה לקהל הרחב

Abstract:

Model-Checking of low-level C and C++ requires a precise memory model

that supports type unions, pointer arithmetic, and casts. In this

talk, I will present our work on a new memory model that splits memory

into a finite set of disjoint regions based on a pointer analysis. Our

main contribution is a field-, array- and context-sensitive pointer

analysis tailored to verification. We have integrated the memory model

and the corresponding alias analysis into our software model checker

SeaHorn. The new memory model is shown to be effective on a case study

of verifying memory safety of a C++ program as well as on SV-COMP

verification benchmarks. Our results suggests that our model reduces

verification time by producing a finer-grained partitioning in

presence of function calls than other, non-context-sensitive memory

models, commonly used by software model checkers today.

 

Bio:

Arie Gurfinkel holds a Ph.D. in Computer Science from the Computer

Science Department of University of Toronto (2007). He is an Associate

Professor at the Department of Electrical and Computer Engineering at

the University of Waterloo. Between 2007 and 2016, he was a Principal

Researcher at the Carnegie Mellon Software Engineering Institute. His

research interests lie in the intersection of formal methods and

software engineering, with an emphasis on automated reasoning about

software systems. He has co-lead development of a number of

automated verification tools including the first multi-valued

model-checker XChek, award winning software verification frameworks

UFO and SeaHorn, and a hardware model-checker Avy.

אוניברסיטת תל אביב עושה כל מאמץ לכבד זכויות יוצרים. אם בבעלותך זכויות יוצרים בתכנים שנמצאים פה ו/או השימוש שנעשה בתכנים אלה לדעתך מפר זכויות
שנעשה בתכנים אלה לדעתך מפר זכויות נא לפנות בהקדם לכתובת שכאן >>