Testing AUTOSAR components with QuickCheck
The amount of software in a car is growing exponentially. This software has to be produced quickly, differentiate from the competition in functionality, multiplicity of features, and quality. There are several ingredients for enabling this, among them choosing the right technologies, improving the software process, and also being extremely thorough and efficient in testing.
The automotive industry have standardized their components in the AUTOSAR standard. Each component has about 500 pages thorough specification behind it, but many corners can be cut if the car need only part of the features; making the software faster and run on cheaper hardware.
Integration of components from different vendors is a nightmare for car companies. The vast amount of different configurations and scenarios in which the software should operate require an enormous and practically impossible amount of test cases to be written. Smart design of tests is tempting, but it is easy to overlook a corner case or combination one cannot foresee.
We created QuickCheck models for 3 major AUTOSAR components. The models are about 10% of the size of the implementation and condense 500 pages of specification in 1500 lines of Erlang code. The models take a configuration and software component as input and automatically generate and run thousands of tests against that component. We have been able to find anomalies in all provided, well tested, software components. We cover many more scenarios and tricky combinations than manual test cases are able to cover. Moreover, we can re-use the model for any given implementation and configuration.
With this technology we can increase test efficiency dramatically, find more errors and only invest a fraction of what it takes to write manual test cases.
Thomas Arts Professor and co-founder of QuviQ AB
Prof Thomas Arts is the co-founder and CTO of Quviq, a small company
that produced QuickCheck, as testing tool for Erlang. Thomas has over 30
publications in various journals and has experience refereeing
conferences and workshops. He has successfully introduced some new
technologies to the industry, the latest being QuickCheck, a tool for
property based testing and aims to support test driven development.
Thomas is also a professor at Chalmers University of Technology in
Thomas was one of the members of Ericsson's
computer science lab where he worked on program verification and the
development of the Erlang programming language. He has also worked in
the broad spectrum theoretical computer science, formal methods and
industrial case-study research, mainly applying all kind of techniques
to systems written in Erlang.