Parizek, Pavel and Kalibera, Tomas (2010) Efficient Detection of Errors in Java Components Using Random Environment and Restarts. In: Proceedings of the 16th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS).
|The full text of this publication is not available from this repository. (Contact us about this Publication)|
Software model checkers are being used mostly to discover specific types of errors in the code, since exhaustive verification of complex programs is not possible due to state explosion. Moreover, typical model checkers cannot be directly applied to isolated components such as libraries or individual classes. A common solution is to create an abstract environment for a component to be checked. When no constraints on component's usage are defined by its developers, a natural choice is to use a universal environment that performs all possible sequences of calls of component's methods in several concurrently-running threads. However, model checking of components with a universal environment is prone to state explosion. In this paper we present a method that allows to discover at least some concurrency errors in component's code in reasonable time. The key ideas of our method are (i) use of an abstract environment that performs a random sequence of method calls in each thread, and (ii) restarts of the error detection process according to a specific strategy. We have implemented the method in the context of Java components and the Java PathFinder model checker. We have performed experiments on non-trivial Java components to show that our approach is viable.
|Item Type:||Conference or workshop item (UNSPECIFIED)|
|Uncontrolled keywords:||determinacy analysis, Craig interpolants|
|Subjects:||Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,|
|Divisions:||Faculties > Science Technology and Medical Studies > School of Computing|
|Depositing User:||T. Fundraising|
|Date Deposited:||21 Sep 2012 09:49|
|Last Modified:||21 Sep 2012 09:49|
|Resource URI:||http://kar.kent.ac.uk/id/eprint/30681 (The current URI for this page, for reference purposes)|
- Depositors only (login required):