Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Wagner, W.H.: Electronic trading: rival or replacement for traditional floor-based exchanges? In: World of Exchanges: Adapting to a New Environment. Euromoney Books (2007)
Friedman, D., Rust, J. (eds.): The double auction market: institutions, theories, and evidence. Addison-Wesley, Reading (1993)
Höjeberg, N.: Random tests in a trading system: random tests in a trading system using simulations and a test oracle. Master’s thesis, School of Computer Science and Communication. KTH Royal Institute of Technology, Sweden (2008)
Hoffman, D.: Using oracles in test automation. In: Proceedings of Pacific Northwest Software Quality Conference, pp. 90–117 (2001)
Gotlieb, A., Botella, B., Rueher, M.: Automatic test data generation using constraint solving techniques. SIGSOFT Softw. Eng. Notes 23(2), 53–62 (1998)
Meudec, C.: ATGen: automatic test data generation using constraint logic programming and symbolic execution. Software Testing Verification and Reliability 11(2), 81–96 (2001)
Bin, E., Emek, R., Shurek, G., Ziv, A.: Using a constraint satisfaction formulation and solution techniques for random test program generation. IBM Systems Journal 41(3), 386–402 (2002)
Ryu, Y.U.: Hierarchical constraint satisfaction of multilateral trade matching in commodity auction markets. Annals of Operations Research 71, 317–334 (1997)
Kalagnanam, J.R., Davenport, A.J., Lee, H.S.: Computational aspects of clearing continuous call double auctions with assignment constraints and indivisible demand. Electronic Commerce Research 1(3), 221–238 (2001)
Hasbrouck, J.: Empirical Market Microstructure: The Institutions, Economics, and Econometrics of Securities Trading. Oxford University Press, Oxford (2007)
Gecode Team: Gecode: Generic constraint development environment (2006), http://www.gecode.org
Castañeda Lozano, R.: Constraint programming for random testing of a trading system. Master’s thesis, School of Information and Communication Technology. KTH Royal Institute of Technology, Sweden (2010)
Cinnober Financial Technology AB: TRADExpress Trading System product sheet (2010), http://www.cinnober.com/files/TS_ProductSheet_0.pdf
Zuse, H.: A Framework of Software Measurement. Walter de Gruyter & Co., Hawthorne (1997)
FIX Protocol Limited: Financial Information eXchange Protocol (2010), www.fixprotocol.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Castañeda Lozano, R., Schulte, C., Wahlberg, L. (2010). Testing Continuous Double Auctions with a Constraint-Based Oracle. In: Cohen, D. (eds) Principles and Practice of Constraint Programming – CP 2010. CP 2010. Lecture Notes in Computer Science, vol 6308. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15396-9_48
Download citation
DOI: https://doi.org/10.1007/978-3-642-15396-9_48
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15395-2
Online ISBN: 978-3-642-15396-9
eBook Packages: Computer ScienceComputer Science (R0)