Ensuring software reliability is a critical problem in the software development process. There are three overarching issues that help improve reliability of complex software systems: (a) availability of specifications that describe important invariants; (b) tools to identify when specifications are violated, and why these violations occur; and (c) the impact of modifications of programs on derived specifications. In this dissertation, we present scalable and efficient path-aware analyses that offer solutions to these three concerns and demonstrate how these solutions lead to improved software reliability. We develop a static path-aware analysis to infer specifications automatically from large software sources. We describe a static inference...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Picture a world where you can ask questions about a piece of code and have tools that automatically ...
Program verification is a promising approach to improving program quality, because it can search all...
This thesis describes the generation and use of program invariants to improve software reliability. ...
The success of software verification depends on the ability to find a suitable abstraction of a pro...
The reliability and correctness of complex software systems can be significantly enhanced through we...
The success of software verification depends on the ability to find a suitable abstraction of a prog...
textMany challenges in software quality can be tackled with dynamic analysis. However, these techniq...
In this paper, we present a new method for supporting abstraction refinement in path-sensitive dataf...
Abstract. In this work we introduce a novel approach for removing false positives in static program ...
Although the program verification community has developed several techniques for analyzing software ...
This research proposes and evaluates techniques for selecting predicates for conditional program pro...
[[abstract]]With the growing size and complexity of software applications, traditional software reli...
Data flow analysis (DFA) is an important verification technique that computes the effect of data val...
This research proposes and evaluates techniques for selectingpredicates for conditional program prop...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Picture a world where you can ask questions about a piece of code and have tools that automatically ...
Program verification is a promising approach to improving program quality, because it can search all...
This thesis describes the generation and use of program invariants to improve software reliability. ...
The success of software verification depends on the ability to find a suitable abstraction of a pro...
The reliability and correctness of complex software systems can be significantly enhanced through we...
The success of software verification depends on the ability to find a suitable abstraction of a prog...
textMany challenges in software quality can be tackled with dynamic analysis. However, these techniq...
In this paper, we present a new method for supporting abstraction refinement in path-sensitive dataf...
Abstract. In this work we introduce a novel approach for removing false positives in static program ...
Although the program verification community has developed several techniques for analyzing software ...
This research proposes and evaluates techniques for selecting predicates for conditional program pro...
[[abstract]]With the growing size and complexity of software applications, traditional software reli...
Data flow analysis (DFA) is an important verification technique that computes the effect of data val...
This research proposes and evaluates techniques for selectingpredicates for conditional program prop...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Picture a world where you can ask questions about a piece of code and have tools that automatically ...
Program verification is a promising approach to improving program quality, because it can search all...