Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Sagar Chaki is active.

Publication


Featured researches published by Sagar Chaki.


IEEE Transactions on Software Engineering | 2004

Modular verification of software components in C

Sagar Chaki; Edmund M. Clarke; Alex Groce; Somesh Jha; Helmut Veith

We present a new methodology for automatic verification of C programs against finite state machine specifications. Our approach is compositional, naturally enabling us to decompose the verification of large software systems into subproblems of manageable complexity. The decomposition reflects the modularity in the software design. We use weak simulation as the notion of conformance between the program and its specification. Following the counterexample guided abstraction refinement (CEGAR) paradigm, our tool MAGIC first extracts a finite model from C source code using predicate abstraction and theorem proving. Subsequently, weak simulation is checked via a reduction to Boolean satisfiability. MAGIC has been interfaced with several publicly available theorem provers and SAT solvers. We report experimental results with procedures from the Linux kernel, the OpenSSL toolkit, and several industrial strength benchmarks.


international conference on software engineering | 2001

Efficient filtering in publish-subscribe systems using binary decision diagrams

Alexis Campailla; Sagar Chaki; Edmund M. Clarke; Somesh Jha; Helmut Veith

Implicit invocation or publish-subscribe has become an important architectural style for large-scale system design and evolution. The publish-subscribe style facilitates developing large-scale systems by composing separately developed components because the style permits loose coupling between various components. One of the major bottlenecks in using publish-subscribe systems for very large scale systems is the efficiency of filtering incoming messages, i.e., matching of published events with event subscriptions. This is a very challenging problem because in a realistic publish subscribe system the number of subscriptions can be large. We present an approach for matching published events with subscriptions which scales to a large number of subscriptions. Our approach uses binary decision diagrams, a compact data structure for representing Boolean functions which has been successfully used in verification techniques such as model checking. Experimental results clearly demonstrate the efficiency of our approach.


symposium on principles of programming languages | 2002

Types as models: model checking message-passing programs

Sagar Chaki; Sriram K. Rajamani; Jakob Rehof

Abstraction and composition are the fundamental issues in making model checking viable for software. This paper proposes new techniques for automating abstraction and decomposition using source level type information provided by the programmer. Our system includes two novel components to achieve this end: (1) a behavioral type-and-effect system for the π-calculus, which extracts sound models as types, and (2) an assume-guarantee proof rule for carrying out compositional model checking on the types. Open simulation between CCS processes is used as both the subtyping relation in the type system and the abstraction relation for compositional model checking.We have implemented these ideas in a tool---PIPER. PIPER exploits type signatures provided by the programmer to partition the model checking problem, and emit model checking obligations that are discharged using the SPIN model checker. We present the details on applying PIPER on two examples: (1) the SIS standard for managing trouble tickets across multiple organizations and (2) a file reader from the pipelined implementation of a web server.


computer aided verification | 2005

Automated assume-guarantee reasoning for simulation conformance

Sagar Chaki; Edmund M. Clarke; Nishant Sinha; Prasanna Thati

We address the issue of efficiently automating assume-guarantee reasoning for simulation conformance between finite state systems and specifications. We focus on a non-circular assume-guarantee proof rule, and show that there is a weakest assumption that can be represented canonically by a deterministic tree automata (DTA). We then present an algorithm LT that learns this DTA automatically in an incremental fashion, in time that is polynomial in the number of states in the equivalent minimal DTA. The algorithm assumes a teacher that can answer membership and candidate queries pertaining to the language of the unknown DTA. We show how the teacher can be implemented using a model checker. We have implemented this framework in the COMFORT toolkit and we report encouraging results (over an order of magnitude improvement in memory consumption) on non-trivial benchmarks.


ieee symposium on security and privacy | 2013

Design, Implementation and Verification of an eXtensible and Modular Hypervisor Framework

Amit Vasudevan; Sagar Chaki; Limin Jia; Jonathan M. McCune; James Newsome; Anupam Datta

We present the design, implementation, and verification of XMHF- an eXtensible and Modular Hypervisor Framework. XMHF is designed to achieve three goals -- modular extensibility, automated verification, and high performance. XMHF includes a core that provides functionality common to many hypervisor-based security architectures and supports extensions that augment the core with additional security or functional properties while preserving the fundamental hypervisor security property of memory integrity (i.e., ensuring that the hypervisors memory is not modified by software running at a lower privilege level). We verify the memory integrity of the XMHF core -- 6018 lines of code -- using a combination of automated and manual techniques. The model checker CBMC automatically verifies 5208 lines of C code in about 80 seconds using less than 2GB of RAM. We manually audit the remaining 422 lines of C code and 388 lines of assembly language code that are stable and unlikely to change as development proceeds. Our experiments indicate that XMHFs performance is comparable to popular high-performance general-purpose hypervisors for the single guest that it supports.


tools and algorithms for construction and analysis of systems | 2001

Parameterized Verification of Multithreaded Software Libraries

Thomas Ball; Sagar Chaki; Sriram K. Rajamani

The growing popularity of multi-threading has led to a great number of software libraries that support access by multiple threads. We present Local/Global Finite State Machines (LGFSMs) as a model for a certain class of multithreaded libraries. We have developed a tool called Beacon that does parameterized model checking of LGFSMs. We demonstrate the expressiveness of LGFSMs as models, and the effectiveness of Beacon as a model checking tool by (1) modeling a multithreaded memory manager Rockall developed at Microsoft Research as an LGFSM, and (2) using Beacon to check a critical safety property of Rockall.


formal methods | 2004

Efficient Verification of Sequential and Concurrent C Programs

Sagar Chaki; Edmund M. Clarke; Alex Groce; Joël Ouaknine; Ofer Strichman; Karen Yorav

AbstractThere has been considerable progress in the domain of software verification over the last few years. This advancement has been driven, to a large extent, by the emergence of powerful yet automated abstraction techniques such as predicate abstraction. However, the state-space explosion problem in model checking remains the chief obstacle to the practical verification of real-world distributed systems. Even in the case of purely sequential programs, a crucial requirement to make predicate abstraction effective is to use as few predicates as possible. This is because, in the worst case, the state-space of the abstraction generated (and consequently the time and memory complexity of the abstraction process) is exponential in the number of predicates involved. In addition, for concurrent programs, the number of reachable states could grow exponentially with the number of components.We attempt to address these issues in the context of verifying concurrent (message-passing) C programs against safety specifications. More specifically, we present a fully automated compositional framework which combines two orthogonal abstraction techniques (predicate abstraction for data and action-guided abstraction for events) within a counterexample-guided abstraction refinement scheme. In this way, our algorithm incrementally increases the granularity of the abstractions until the specification is either established or refuted. Additionally, a key feature of our approach is that if a property can be proved to hold or not hold based on a given finite set of predicates


integrated formal methods | 2005

Concurrent software verification with states, events, and deadlocks

Sagar Chaki; Edmund M. Clarke; Joël Ouaknine; Natasha Sharygina; Nishant Sinha


Lecture Notes in Computer Science | 2003

Predicate abstraction with minimum predicates

Sagar Chaki; Edmund M. Clarke; Alex Groce; Ofer Strichman

\mathcal{P}


computer aided verification | 2014

SMT-Based Model Checking for Recursive Programs

Anvesh Komuravelli; Arie Gurfinkel; Sagar Chaki

Collaboration


Dive into the Sagar Chaki's collaboration.

Top Co-Authors

Avatar

Arie Gurfinkel

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Edmund M. Clarke

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Dionisio de Niz

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Ofer Strichman

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Anupam Datta

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Amit Vasudevan

Association for Computing Machinery

View shared research outputs
Top Co-Authors

Avatar

Nishant Sinha

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Arie Gurfinkel

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Kurt C. Wallnau

Carnegie Mellon University

View shared research outputs
Researchain Logo
Decentralizing Knowledge