Constraint-Based Thread-Modular Abstract Interpretation

dc.contributor.authorKusano, Markus Jan Urbanen
dc.contributor.committeechairWang, Chaoen
dc.contributor.committeechairHsiao, Michael S.en
dc.contributor.committeememberZeng, Haiboen
dc.contributor.committeememberLee, Dongyoonen
dc.contributor.committeememberSchaumont, Patrick R.en
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2018-07-26T08:00:41Zen
dc.date.available2018-07-26T08:00:41Zen
dc.date.issued2018-07-25en
dc.description.abstractIn this dissertation, I present a set of novel constraint-based thread-modular abstract-interpretation techniques for static analysis of concurrent programs. Specifically, I integrate a lightweight constraint solver into a thread-modular abstract interpreter to reason about inter-thread interference more accurately. Then, I show how to extend the new analyzer from programs running on sequentially consistent memory to programs running on weak memory. Finally, I show how to perform incremental abstract interpretation, with and without the previously mentioned constraint solver, by analyzing only regions of the program impacted by a program modification. I also demonstrate, through experiments, that these new constraint-based static analyzers are significantly more accurate than prior abstract interpretation-based static analyzers, with lower runtime overhead, and that the incremental technique can drastically reduce runtime overhead in the presence of small program modifications.en
dc.description.abstractgeneralSoftware touches nearly every aspect of our lives, from smartphones, personal computers, and websites, to airplanes, cars, and medical equipment. Due to its ubiquity, we would like software in our lives to operate correctly, that is, without any unintended side effects, or freezes. This dissertation presents a new technique to automatically analyze a piece of software and determine if it runs as intended. We focus particularly on software where multiple entities run simultaneously, and thus can interact in many ways. Our automated analysis gives software developers high assurance that the software will always perform correctly, and thus never have any unexpected issues.en
dc.description.degreePh. D.en
dc.format.mediumETDen
dc.identifier.othervt_gsexam:15155en
dc.identifier.urihttp://hdl.handle.net/10919/84399en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectabstract interpretationen
dc.subjectconcurrencyen
dc.subjectverificationen
dc.subjectstatic analysisen
dc.titleConstraint-Based Thread-Modular Abstract Interpretationen
dc.typeDissertationen
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.namePh. D.en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Kusano_MJ_D_2018.pdf
Size:
744.1 KB
Format:
Adobe Portable Document Format