Testing Continuous Double Auctions with a Constraint-based Oracle

Roberto CastaƱeda Lozano, Christian Schulte, Lars Wahlberg.

[pdf | bibtex]

Computer trading systems are essential for today's financial markets where the trading systems' correctness is of paramount economical significance. Automated random testing is a useful technique to find bugs in these systems, but it requires an independent system to decide the correctness of the system under test (known as oracle problem). This paper introduces a constraint-based oracle for random testing of a real-world trading system. The oracle provides the expected results by generating and solving constraint models of the trading system's continuous double auction. Constraint programming is essential for the correctness of the test oracle as the logic for calculating trades can be mapped directly to constraint models. The paper shows that the generated constraint models can be solved efficiently. Most importantly, the approach is shown to be successful by finding errors in a deployed financial trading system and in its specification.

In: David Cohen, editor, Sixteenth International Conference on Principles and Practice of Constraint Programming, St Andrews, UK, volume 6308 of Lecture Notes in Computer Science, pages 613-627. Springer-Verlag, September, 2010. DOI 10.1007/978-3-642-15396-9_48.

Copyright Springer-Verlag, the original publication is available at www.springerlink.com