Results 1 -
8 of
8
Formal Verification of E-Services and Workflows
- Proc. ESSW
, 2002
"... Abstract. We study the verification problem for e-service (and workflow) specifications, aiming at efficient techniques for guiding the construction of composite e-services to guarantee desired properties (e.g., deadlock avoidance, bounds on resource usage, response times). Based on previously propo ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
Abstract. We study the verification problem for e-service (and workflow) specifications, aiming at efficient techniques for guiding the construction of composite e-services to guarantee desired properties (e.g., deadlock avoidance, bounds on resource usage, response times). Based on previously proposed e-service frameworks such as AZTEC and e-FLow, decision flow language Vortex, and our early work on verifying Vortex specifications using model checking and infinite state verification tools, we introduce a very simple e-service model for our investigation of verification issues. We first show how three different model checking techniques are applied to verification of specifications in simple e-service model, where the number of processes is limited to a predetermined number. We then introduce pid quantified constraints, a new symbolic representation that can encode infinite system states, to verify systems with unbounded and dynamic process instantiations. We think that it is a versatile technique and more suitable for verification of e-service specifications. If this is combined with other techniques such as abstraction and widening, it is possible to solve a large category of interesting verification problems for e-services. 1
Compiling Constraint Handling Rules for Efficient Tabled Evaluation
- In 9th International Symposium on Practical Aspects of Declarative Languages (PADL
, 2007
"... Abstract. Tabled resolution, which alleviates some of Prolog’s termination problems, makes it possible to create practical applications from high-level declarative specifications. Constraint Handling Rules (CHR) is an elegant framework for implementing constraint solvers from high-level specificatio ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
Abstract. Tabled resolution, which alleviates some of Prolog’s termination problems, makes it possible to create practical applications from high-level declarative specifications. Constraint Handling Rules (CHR) is an elegant framework for implementing constraint solvers from high-level specifications, and is available in many Prolog systems. However, applications combining the power of these two declarative paradigms have been impractical since traditional CHR implementations interact poorly with tabling. In this paper we present a new (set-based) semantics for CHR which enables efficient integration with tabling. The new semantics coincides with the traditional (multi-set-based) semantics for a large class of CHR programs. We describe CHRd, an implementation based on the new semantics. CHRd uses a distributed constraint store that can be directly represented in tables. Although motivated by tabling, CHRd works well also on non-tabled platforms. We present experimental results which show that, relative to traditional implementations, CHRd performs significantly better on tabled programs, and yet shows comparable results on non-tabled benchmarks. 1
Specification, Verification, and Synthesis of Concurrency Control Components
- In Proceedings of the 2002 ACM/SIGSOFT International Symposium on Software Testing and Analysis
, 2002
"... Run-time errors in concurrent programs are generally due to wrong usage of synchronization primitives such as monitors. Conventional validation techniques such as testing become ineffective for concurrent programs since the state space increases exponentially with the number of concurrent processes. ..."
Abstract
-
Cited by 11 (8 self)
- Add to MetaCart
Run-time errors in concurrent programs are generally due to wrong usage of synchronization primitives such as monitors. Conventional validation techniques such as testing become ineffective for concurrent programs since the state space increases exponentially with the number of concurrent processes. In this paper, we propose an approach in which 1) the concurrency control component of a concurrent program is formally specified, 2) it is verified automatically using model checking, and 3) the code for concurrency control component is automatically generated. We use monitors as the synchronization primitive to control access to a shared resource by multiple concurrent processes. Since our approach decouples concurrency control component from rest of the implementation it is scalable. We demonstrate its scalability by applying our approach to a case study on Airport Ground Traffic Control.
Efficient symbolic representations for arithmetic constraints in verification
"... In this paper we discuss efficient symbolic representations for infinite-state systems specified using linear arithmetic constraints. We give algorithms for constructing finite automata which represent integer sets that satisfy linear constraints. These automata can represent either signed or unsign ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
In this paper we discuss efficient symbolic representations for infinite-state systems specified using linear arithmetic constraints. We give algorithms for constructing finite automata which represent integer sets that satisfy linear constraints. These automata can represent either signed or unsigned integers and have a lower number of states compared to other similar approaches. We present efficient storage techniques for the transition function of the automata and extend the construction algorithms to formulas on both boolean and integer variables. We also derive conditions which guarantee that the pre-condition computations used in symbolic verification algorithms do not cause an exponential increase in the automata size. We experimentally compare different symbolic representations by using them to verify non-trivial concurrent systems. Experimental results show that the symbolic representations based on our construction algorithms outperform the polyhedral representation used in Omega Library, and the automata representation used in LASH.
Modelling and detecting the cascade vulnerability problem using soft constraints
- In Proceedings of the ACM Symposium on Applied Computing
, 2004
"... Establishing network security is based not just on the security of its component systems but also on how they are configured to interoperate. In this paper we consider how soft constraints provide an approach to detecting the cascade vulnerability problem: whether system interoperation provides circ ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Establishing network security is based not just on the security of its component systems but also on how they are configured to interoperate. In this paper we consider how soft constraints provide an approach to detecting the cascade vulnerability problem: whether system interoperation provides circuitous or cascading routes across the network that increase the risk of violation of multilevel security. Taking the constraints approach means that we are building on techniques that have proven success in solving large-scale problems from other domains.
A Constraint-based Framework for the Cascade Vulnerability Problem
, 2004
"... Establishing network security is based not just on the security of its component systems but also on how they are configured to interoperate. In this paper we consider how soft constraints provide an approach to detecting the cascade vulnerability problem: whether system interoperation provides circ ..."
Abstract
- Add to MetaCart
Establishing network security is based not just on the security of its component systems but also on how they are configured to interoperate. In this paper we consider how soft constraints provide an approach to detecting the cascade vulnerability problem: whether system interoperation provides circuitous or cascading routes across the network that increase the risk of violation of multilevel security. Taking the constraints approach means that we are building on techniques that have proven success in solving large-scale problems from other domains.
Action Language Verifier: An Infinite-State Model Checker for Reactive Software Specifications
, 2009
"... Action Language is a specification language for reactive software systems. In this paper, we present the syntax and the semantics of the Action Language and we also present an infinite-state symbolic model checker called Action Language Verifier (ALV) that verifies (or falsifies) CTL properties of A ..."
Abstract
- Add to MetaCart
Action Language is a specification language for reactive software systems. In this paper, we present the syntax and the semantics of the Action Language and we also present an infinite-state symbolic model checker called Action Language Verifier (ALV) that verifies (or falsifies) CTL properties of Action Language specifications. ALV is built on top of the Composite Symbolic Library, which is a symbolic manipulator that combines multiple symbolic representations. ALV is a polymorphic model checker that can use different combinations of the symbolic representations implemented in the Composite Symbolic Library. We describe the heuristics implemented in ALV for computing fixpoints using the composite symbolic representation. Since Action Language specifications allow declaration of unbounded integer variables and parameterized integer constants, verification of Action Language specifications is undecidable. ALV uses several heuristics to conservatively approximate the fixpoint computations. ALV also implements an automated abstraction technique that enables parameterized verification of a concurrent system with an arbitrary number of identical processes.

