Abstract
Systematic testing of autonomous vehicles operating in complex real-world scenarios is a difficult and expensive problem. We present Paracosm, a framework for writing systematic test scenarios for autonomous driving simulations. Paracosm allows users to programmatically describe complex driving situations with specific features, e.g., road layouts and environmental conditions, as well as reactive temporal behaviors of other cars and pedestrians. A systematic exploration of the state space, both for visual features and for reactive interactions with the environment is made possible. We define a notion of test coverage for parameter configurations based on combinatorial testing and low dispersion sequences. Using fuzzing on parameter configurations, our automatic test generator can maximize coverage of various behaviors and find problematic cases. Through empirical evaluations, we demonstrate the capabilities of Paracosm in programmatically modeling parameterized test environments, and in finding problematic scenarios.
Chapter PDF
Similar content being viewed by others
References
Abbas, H., O’Kelly, M., Rodionova, A., Mangharam, R.: Safe at any speed: A simulation-based test harness for autonomous vehicles. In: 7th Workshop on Design, Modeling and Evaluation of Cyber Physical Systems (CyPhy17) (October2017)
Abdessalem, R.B., Nejati, S., Briand, L.C., Stifter, T.: Testing vision-based control systems using learnable evolutionary algorithms. In: Proceedings of the 40th International Conference on Software Engineering. p. 1016–1026. ICSE ’18, Association for Computing Machinery, New York, NY, USA (2018). https://doi.org/10.1145/3180155.3180160, https://doi.org/10.1145/3180155.3180160
Alexander, R., Hawkins, H., Rae, A.: Situation coverage – a coverage criterion for testing autonomous robots (02 2015)
Alon, N., Spencer, J.H.: The Probabilistic Method. Wiley-Interscience series indiscrete mathematics and optimization, Wiley (2004)
American Fuzzy Loop: Technical “whitepaper” for afl-fuzz, http://lcamtuf.coredump.cx/afl/technical_details.txt, accessed:2019-08-23
Annpureddy, Y., Liu, C., Fainekos, G.E., Sankaranarayanan, S.: S-TaLiRo: A tool for temporal logic falsification for hybrid systems. In: TACAS 11. Lecture Notes in Computer Science, vol. 6605, pp. 254–257. Springer (2011)
Association for Advancement of international Standardization of Automation and Measuring Systems (ASAM): Opendrive (2018), http://www.opendrive.org/index.html, accessed: 2019-08-21
Association for Advancement of international Standardization of Automation and Measuring Systems (ASAM): Openscenario (2018), http://www.opendrive.org/index.html, accessed: 2019-08-21
Beck, K.L.: Test Driven Development: By Example. Addison-Wesley Professional (2002)
Ben Abdessalem, R., Nejati, S., Briand, L.C., Stifter, T.: Testing advanced driver assistance systems using multi-objective search and neural networks. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). pp. 63–74 (2016)
Bhagoji, A.N., He, W., Li, B., Song, D.: Exploring the space of black-box attacks on deep neural networks. CoRR abs/1712.09491 (2017), http://arxiv.org/abs/1712.09491
Bojarski, M., Del Testa, D., Dworakowski, D., Firner, B., Flepp, B., Goyal, P., Jackel, L.D., Monfort, M., Muller, U., Zhang, J., et al.: End to end learning for self-driving cars. arXiv preprint arXiv:1604.07316 (2016)
Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.: Lustre: A declarative language for programming synchronous systems. In: Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, Germany, January 21-23, 1987. pp. 178–188 (1987)
Colbourn, C.J.: Combinatorial aspects of covering arrays. Le Matematiche 59(1,2), 125–172 (2004), https://lematematiche.dmi.unict.it/index.php/lematematiche/article/view/166
comma.ai: openpilot: open source driving agent (2016), https://github.com/commaai/openpilot, accessed: 2018-11-13
Coporation, N.: Physx (2008), https://developer.nvidia.com/gameworks-physx-overview, accessed: 2018-11-13
Deshmukh, J., Jin, X., Kapinski, J., Maler, O.: Stochastic local search for falsification of hybrid systems. In: ATVA. pp. 500–517. Springer (2015)
Deshmukh, J.V., Donzé, A., Ghosh, S., Jin, X., Juniwal, G., Seshia, S.A.: Robust online monitoring of signal temporal logic. Formal Methods in System Design 51(1), 5–30 (2017). https://doi.org/10.1007/s10703-017-0286-7, https://doi.org/10.1007/s10703-017-0286-7
Deshmukh, J.V., Horvat, M., Jin, X., Majumdar, R., Prabhu, V.S.: Testing cyber-physical systems through bayesian optimization. ACM Trans. Embedded Comput. Syst. 16(5), 170:1–170:18 (2017). https://doi.org/10.1145/3126521, https://doi.org/10.1145/3126521
Donzé, A.: Breach, A Toolbox for Verification and Parameter Synthesis of Hybrid Systems, pp. 167–170. Springer (2010)
Dosovitskiy, A., Ros, G., Codevilla, F., Lopez, A., Koltun, V.: CARLA: An open urban driving simulator. In: Proceedings of the 1st Annual Conference on Robot Learning. pp. 1–16 (2017)
Dreossi, T., Donzé, A., Seshia, S.A.: Compositional falsification of cyber-physical systems with machine learning components. In: NASA Formal Methods - 9th International Symposium, NFM 2017. Lecture Notes in Computer Science, vol. 10227, pp. 357–372. Springer (2017)
Dreossi, T., Jha, S., Seshia, S.A.: Semantic adversarial deep learning 10981, 3–26 (2018). https://doi.org/10.1007/978-3-319-96145-3_1, https://doi.org/10.1007/978-3-319-96145-3_1
Dutta, S., Chen, X., Jha, S., Sankaranarayanan, S., Tiwari, A.: Sherlock - A tool for verification of neural network feedback systems: demo abstract. In: Ozay, N., Prabhakar, P. (eds.) Proceedings of the 22nd ACM International Conference on Hybrid Systems: Computation and Control, HSCC 2019, Montreal, QC, Canada, April 16-18, 2019. pp. 262–263. ACM (2019). https://doi.org/10.1145/3302504.3313351, https://doi.org/10.1145/3302504.3313351
Fainekos, G.: Automotive control design bug-finding with the S-TaLiRo tool. In: ACC 2015. p. 4096 (2015)
Foundation, O.S.R.: Vehicle simulation in gazebo, http://gazebosim.org/blog/vehicle%20simulation, accessed: 2019-08-23
Fremont, D.J., Dreossi, T., Ghosh, S., Yue, X., Sangiovanni-Vincentelli, A.L., Seshia, S.A.: Scenic: A language for scenario specification and scene generation. In: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. pp. 63–78. PLDI 2019, ACM, New York, NY, USA (2019). https://doi.org/10.1145/3314221.3314633, http://doi.acm.org/10.1145/3314221.3314633
Gambi, A., Huynh, T., Fraser, G.: Generating effective test cases for self-driving cars from police reports. In: Dumas, M., Pfahl, D., Apel, S., Russo, A. (eds.) Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/SIGSOFT FSE 2019, Tallinn, Estonia, August 26-30, 2019. pp. 257–267. ACM (2019). https://doi.org/10.1145/3338906.3338942, https://doi.org/10.1145/3338906.3338942
Gambi, A., Müller, M., Fraser, G.: Automatically testing self-driving cars with search-based procedural content generation. In: Zhang, D., Møller, A. (eds.) Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2019, Beijing, China, July 15-19, 2019. pp. 318–328. ACM (2019). https://doi.org/10.1145/3293882.3330566, https://doi.org/10.1145/3293882.3330566
Gehr, T., Mirman, M., Drachsler-Cohen, D., Tsankov, P., Chaudhuri, S., Vechev, M.T.: AI2: safety and robustness certification of neural networks with abstract interpretation. In: 2018 IEEE Symposium on Security and Privacy, S&P 2018. pp. 3–18. IEEE (2018)
Gladisch, C., Heinz, T., Heinzemann, C., Oehlerking, J., von Vietinghoff, A., Pfitzer, T.: Experience paper: Search-based testing in automated driving control applications. In: Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE). pp. 26–37(2019)
Goodfellow, I.J., Shlens, J., Szegedy, C.: Explaining and harnessing adversarial examples. CoRR abs/1412.6572 (2014), http://arxiv.org/abs/1412.6572
Ho, H., Ouaknine, J., Worrell, J.: Online monitoring of metric temporal logic. In: Runtime Verification RV 2014. Lecture Notes in Computer Science, vol. 8734, pp. 178–192. Springer (2014)
Huang, X., Kwiatkowska, M., Wang, S., Wu, M.: Safety verification of deep neural networks. In: Majumdar, R., Kuncak, V. (eds.) Computer Aided Verification - 29th International Conference, CAV 2017, Heidelberg, Germany, July 24-28, 2017, Proceedings, Part I. Lecture Notes in Computer Science, vol. 10426, pp. 3–29. Springer (2017). https://doi.org/10.1007/978-3-319-63387-9_1, https://doi.org/10.1007/978-3-319-63387-9_1
Hudak, P., Courtney, A., Nilsson, H., Peterson, J.: Arrows, robots, and functional reactive programming. In: Advanced Functional Programming, 4th International School, AFP 2002, Oxford, UK, August 19-24, 2002, Revised Lectures. Lecture Notes in Computer Science, vol. 2638, pp. 159–187. Springer (2002). https://doi.org/10.1007/978-3-540-44833-4_6, https://doi.org/10.1007/978-3-540-44833-4_6
Kawai, Y.: Unirx: Reactive extensions for unity (2014), https://github.com/neuecc/UniRx, accessed: 2018-11-13
Kim, J., Feldt, R., Yoo, S.: Guiding deep learning system testing using surprise adequacy. In: Proceedings of the 41st International Conference on Software Engineering. pp. 1039–1049. ICSE ’19, IEEE Press, Piscataway, NJ, USA (2019). https://doi.org/10.1109/ICSE.2019.00108, https://doi.org/10.1109/ICSE.2019.00108
Kuhn, D.R., Kacker, R.N., Lei, Y.: Combinatorial testing. In: Laplante, P.A. (ed.) Encyclopedia of Software Engineering, pp. 1–12. CRC Press (Nov 2010)
Li, Z., Ma, X., Xu, C., Cao, C.: Structural coverage criteria for neural networks could be misleading. In: Sarma, A., Murta, L. (eds.) Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results, ICSE (NIER) 2019, Montreal, QC, Canada, May 29-31,2019. pp. 89–92. IEEE / ACM (2019), https://dl.acm.org/citation.cfm?id=3339171
Liberty, J., Betts, P.: Programming Reactive Extensions and LINQ. Apress (2011)
Ma, L., Juefei-Xu, F., Zhang, F., Sun, J., Xue, M., Li, B., Chen, C., Su, T., Li, L., Liu, Y., Zhao, J., Wang, Y.: Deepgauge: Multi-granularity testing criteria for deep learning systems. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. pp. 120–131. ASE 2018, ACM, New York, NY, USA (2018). https://doi.org/10.1145/3238147.3238202, http://doi.acm.org/10.1145/3238147.3238202
Mackinnon, T., Freeman, S., Craig, P.: Endo-testing: Unit testing with mock objects. In: eXtreme Programming and Flexible Processes in Software Engineering - XP2000 (2000)
Majumdar, R., Mathur, A.S., Pirron, M., Stegner, L., Zufferey, D.: Paracosm: A language and tool for testing autonomous driving systems. CoRR abs/1902.01084 (2019), http://arxiv.org/abs/1902.01084
Majumdar, R., Niksic, F.: Why is random testing effective for partition tolerance bugs? PACMPL 2(POPL), 46:1–46:24 (2018)
Majzik, I., Semeráth, O., Hajdu, C., Marussy, K., Szatmári, Z., Micskei, Z., Vörös, A., Babikian, A.A., Varró, D.: Towards system-level testing with coverage guarantees for autonomous vehicles. In: 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS). pp. 89–94 (2019). https://doi.org/10.1109/MODELS.2019.00-12
Mirman, M., Gehr, T., Vechev, M.: Differentiable abstract interpretation for provably robust neural networks. In: International Conference on Machine Learning (ICML) (2018), https://www.icml.cc/Conferences/2018/Schedule?showEvent=2477
Mockito: Tasty mocking framework for unit tests in java, http://site.mockito.org, accessed: 2019-08-23
National Transportation Safety Board: Collision between vehicle controlled by developmental automated driving system and pedestrian, tempe, arizona, march18, 2018. Highway Accident Report NTSB/HAR-19/03, National Transportation Safety Board (November 2019)
Niederreiter, H.: Random number generation and quasi-Monte Carlo methods. SIAM (1992)
O’Kelly, M., Sinha, A., Namkoong, H., Tedrake, R., Duchi, J.C.: Scalable end-to-end autonomous vehicle testing via rare-event simulation. Advances in Neural Information Processing Systems 31, 9827–9838 (2018)
Papernot, N., McDaniel, P., Goodfellow, I., Jha, S., Celik, Z.B., Swami, A.: Practical black-box attacks against machine learning. In: Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security -ASIA CCS 17. ACM (2017). https://doi.org/10.1145/3052973.3053009, https://doi.org/10.1145/3052973.3053009
Pei, K., Cao, Y., Yang, J., Jana, S.: Deepxplore: Automated whitebox testing of deep learning systems. In: Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, October 28-31, 2017. pp. 1–18. ACM (2017). https://doi.org/10.1145/3132747.3132785, https://doi.org/10.1145/3132747.3132785
Pomerleau, D.: ALVINN: An autonomous land vehicle in a neural network. In: NIPS 88: Neural Information Processing Systems (1988)
Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.: Ros: an open-source robot operating system. In: ICRA workshop on open source software (2009)
Rawat, S., Jain, V., Kumar, A.J.S., Cojocar, L., Giuffrida, C., Bos, H.: Vuzzer: Application-aware evolutionary fuzzing. In: NDSS (2017)
ReactiveX: Reactivex, http://reactivex.io/, accessed: 2019-08-23
Rote, G., Tichy, R.: Quasi-Monte-Carlo methods and the dispersion of point sequences. Mathematical and Computer Modelling 23, 9–23 (1996)
Ruan, W., Huang, X., Kwiatkowska, M.: Reachability analysis of deep neural networks with provable guarantees. In: Lang, J. (ed.) Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018, July 13-19, 2018, Stockholm, Sweden. pp. 2651–2659. ijcai.org (2018). https://doi.org/10.24963/ijcai.2018/368, https://doi.org/10.24963/ijcai.2018/368
Samimi, H., Hicks, R., Fogel, A., Millstein, T.: Declarative mocking. In: ISSTA 2013. pp. 246–256. ACM (2013)
Sankaranarayanan, S., Fainekos, G.: Falsification of temporal properties of hybrid systems using the cross-entropy method. In: HSCC 12. pp. 125–134. ACM (2012)
Shah, S., Dey, D., Lovett, C., Kapoor, A.: Airsim: High-fidelity visual and physical simulation for autonomous vehicles. In: Field and Service Robotics (2017), https://arxiv.org/abs/1705.05065
Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition. CoRR abs/1409.1556 (2014)
Stewart, L., Musa, M., Croce, N.: Look no hands: self-driving vehicles’ public trust problem (2019), https://www.weforum.org/agenda/2019/08/self-driving-vehicles-public-trust/, accessed: 2021-01-18
Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I.J., Fergus, R.: Intriguing properties of neural networks. CoRR abs/1312.6199 (2013)
Tian, Y., Pei, K., Jana, S., Ray, B.: Deeptest: Automated testing of deep-neural-network-driven autonomous cars. In: Proceedings of the 40th International Conference on Software Engineering. pp. 303–314. ACM (2018)
Tuncali, C.E., Fainekos, G., Prokhorov, D., Ito, H., Kapinski, J.: Requirements-driven test generation for autonomous vehicles with machine learning components. arXiv preprint arXiv:1908.01094 (2019)
Tuncali, C.E., Fainekos, G.E., Ito, H., Kapinski, J.: Sim-atav: Simulation-based adversarial testing framework for autonomous vehicles. In: Proceedings of the 21st International Conference on Hybrid Systems: Computation and Control (part of CPS Week), HSCC 2018, Porto, Portugal, April 11-13, 2018. pp. 283–284. ACM (2018). https://doi.org/10.1145/3178126.3187004, http://doi.acm.org/10.1145/3178126.3187004
Udacity: Self-driving car simulator, https://github.com/udacity/self-driving-car-sim, accessed: 2019-08-23
Unity3D: Unity game engine, https://unity3d.com/, accessed: 2019-08-23
Wan, Z., Hudak, P.: Functional reactive programming from first principles. In: Proceedings of the 2000 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Vancouver, Britith Columbia, Canada, June 18-21, 2000. pp. 242–252. ACM (2000). https://doi.org/10.1145/349299.349331, https://doi.org/10.1145/349299.349331
Wicker, M., Huang, X., Kwiatkowska, M.: Feature-guided black-box safety testing of deep neural networks. In: Beyer, D., Huisman, M. (eds.) Tools and Algorithms for the Construction and Analysis of Systems - 24th International Conference, TACAS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings, Part I. Lecture Notes in Computer Science, vol. 10805, pp. 408–426. Springer (2018). https://doi.org/10.1007/978-3-319-89960-2_22, https://doi.org/10.1007/978-3-319-89960-2_22
Wymann, B., Espié, E., Guionneau, C., Dimitrakakis, C., Coulom, R., Sumner, A.: TORCS, The Open Racing Car Simulator. http://www.torcs.org (2014)
Acknowledgements
This research was funded in part by the Deutsche Forschungsgemeinschaft project 389792660-TRR 248 and by the European Research Council under the Grant Agreement 610150 (ERC Synergy Grant ImPACT).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2021 The Author(s)
About this paper
Cite this paper
Majumdar, R., Mathur, A., Pirron, M., Stegner, L., Zufferey, D. (2021). Paracosm: A Test Framework for Autonomous Driving Simulations. In: Guerra, E., Stoelinga, M. (eds) Fundamental Approaches to Software Engineering. FASE 2021. Lecture Notes in Computer Science(), vol 12649. Springer, Cham. https://doi.org/10.1007/978-3-030-71500-7_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-71500-7_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-71499-4
Online ISBN: 978-3-030-71500-7
eBook Packages: Computer ScienceComputer Science (R0)