[Colloquium] Parthasarathy talk - Thurs. at 12:15 at TTI
Meridel Trimble
mtrimble at tti-c.org
Tue Mar 9 15:11:19 CST 2004
Toyota Technological Institute talk
Speaker: Madhusudan Parthasarathy
Univ. of Pennsylvania
Date: Thursday, March 11th, 2004
Time: 12:15 pm
Place: TTI-C (1427 E. 60th St.)
Refreshments provided
Title: Algorithmic Software Verification
Abstract:
The rising need for reliable systems has spurred intense research in tools
and techniques that aid detection of errors in programs. A prominent paradigm
is model checking: the automated formal verification of systems by state-space
exploration. Model-checking, aided with advances in automated abstraction,
symbolic state-space exploration and boolean satisfiability solvers, is a
paradigm that has proven to be effective in the hardware circuits domain.
Modular programs, when abstracted, result in boolean pushdown models that can
be model checked against classical specification logics such as linear temporal
logic (LTL). However, LTL cannot express many interesting properties that are
particularly relevant for software, such as correctness of procedures with
respect to Hoare-style pre and post conditions, security properties that
examine the call stack, etc. We introduce CARET, a temporal logic of calls and
returns, that can express such context-free properties and show that CARET can
be model-checked with the same effort needed for LTL.
The crucial aspect of CARET is that it ensures that specifications express
pushdown properties only to the extent of matching calls and returns in the
model. Using this insight, we show a surprisingly robust subclass of
context-free languages that subsumes regular languages and yet has all the
desirable properties of regular languages that facilitate model-checking.
In the final part of the talk, we present a new methodology for synthesizing
interfaces for software modules. The programmer of a module (or a class)
intends a particular usage of the class that is often not formalized. An
interface to a class captures a formal set of rules of correct usage of the
class. We present the tool JIST (Java Interface Synthesis Tool) that extracts
such interfaces using predicate abstraction, two-player games and symbolic
exploration, and illustrate the paradigm with interfaces synthesized for some
core Java2SDK library classes.
If you have questions, or would like to meet the speaker, please e-mail Meridel
at mtrimble at tti-c.org
More information about the Colloquium
mailing list