Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Symbolic execution and program testing
Communications of the ACM
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
A CLP Framework for Computing Structural Test Data
CL '00 Proceedings of the First International Conference on Computational Logic
Kilim: Isolation-Typed Actors for Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Coverage Based Testing for Concurrent Software
ICDCSW '08 Proceedings of the 2008 The 28th International Conference on Distributed Computing Systems Workshops
Decompilation of Java bytecode to Prolog by partial evaluation
Information and Software Technology
Dynamic Symbolic Execution of Distributed Concurrent Objects
FMOODS '09/FORTE '09 Proceedings of the Joint 11th IFIP WG 6.1 International Conference FMOODS '09 and 29th IFIP WG 6.1 International Conference FORTE '09 on Formal Techniques for Distributed Systems
Efficient Testing of Concurrent Programs with Abstraction-Guided Symbolic Execution
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Modeling and Testing Multi-Threaded Asynchronous Systems with Creol
Electronic Notes in Theoretical Computer Science (ENTCS)
Cost analysis of java bytecode
ESOP'07 Proceedings of the 16th European conference on Programming
A complete guide to the future
ESOP'07 Proceedings of the 16th European conference on Programming
Generalized symbolic execution for model checking and testing
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Test case generation for object-oriented imperative languages in clp*
Theory and Practice of Logic Programming
JCoBox: generalizing active objects to concurrent components
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Simulating concurrent behaviors with worst-case cost bounds
FM'11 Proceedings of the 17th international conference on Formal methods
ABS: a core language for abstract behavioral specification
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
aPET: a test case generation tool for concurrent objects
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
In the concurrent objects model, objects have conceptually dedicated processors and live in a distributed environment with unordered communication by means of asynchronous method calls. Method callers may decide at runtime when to synchronize with the reply from a call. This paper presents a CLP-based approach to symbolic execution of concurrent OO programs. Developing a symbolic execution engine for concurrent objects is challenging because it needs to combine the OO features of the language, concurrency and backtracking. Our approach consists in, first, transforming the OO program into an equivalent CLP program which contains calls to specific builtins that handle the concurrency model. The builtins are implemented in CLP and include primitives to handle asynchronous calls synchronization operations and scheduling policies, among others. Interestingly, symbolic execution of the transformed programs then relies simply on the standard sequential execution of CLP. We report on a prototype implementation within the PET system which shows the feasibility of our approach.