Bachelor and Master Theses

Title: Deploy software testing techniques on embedded systems in simulated environment
Subject: Computer Science
Level: Advanced
Description: Motivation

The requirements on testing of software-intensive systems are constantly increasing, and the amount of software embedded in an electronic unit is increasing. This trend is driven in part by increasing requirements on safety-critical systems, i.e. where a system failure may injure or kill humans. There is thus an increasing need to perform testing more efficiently, on all levels: module level, component level, subsystem and integration level, and system level. Two answers to this need are testing in a simulated environment, and fault injection testing.


CCSimTech from CrossControl is a soft simulation platform for embedded systems containing a tool suite used to simulate buses such as the CAN bus, analog and digital I/O, memory, and other parts of the execution environment of embedded software. The fundamental reason to perform testing in a simulated environment is that certain kinds of testing can be performed already at the developers' desktops, instead of having to wait for the hardware to be finalized and available. Many kinds of errors can be easily unveiled through these kinds of tests, and the quality of the software delivered to hardware testing is increased. The tests that are later executed on the target hardware will be fewer and easier to interpret since they will be more directly related to the hardware (e.g. subtle timing behavior). Also, many types of faults can be injected with much higher precision in a simulated environment than on the target hardware, such as specific communication errors or memory errors at bit level at very precise points in time.
Ultimately, testing in a simulated environment leads to higher development efficiency, better utilization of the testing hardware needed, as well as higher-quality software.


The activities during the thesis include:
• Survey of existing state-of-the-art and state-of-the-practice related to system testing, integration testing, automated execution of tests, automatic generation of tests, fault injection testing, test coverage, requirements on testing in safety standards.
• Integration of CCSimTech and Visual Studio into TestComplete at the technical level (including documentation).
• Investigation and experiments where tests are built from reusable building blocks, to support an efficient workflow with various types of tests at various stages in the testing process. A large set of similar tests should be easily constructed from a few building blocks (such as building blocks that start the system and takes it into a known state, plus a number of building blocks implementing simulated interference on the CAN bus) and then executed automatically.
• Design and implementation of such a modularly structured test suite for an example system that demonstrates how to use CCSimTech for various types of tests at various stages in the testing process.
• Adaptations of the example system to contain known faults (i.e., design and implementation), to demonstrate that the fault injection tests are able to find these faults.
• Presentation of the results in a written report and an oral presentation.
The main working example will be an already existing example system, by using the existing features in CCSimTech. If needed, the thesis work may include improvements of the example system or CCSimTech itself.
In the implementation, the students will work in a Windows environment with C/C++ and .NET.
If the thesis is performed by two students, it is desirable that the students divides these tasks between themselves, both to be able to perform each activity more in depth, and to make their individual contributions more transparent.

Expected Deliverables

The expected deliverables of the thesis are the following:
• A written description, and an installation wizard or similar, that supports repeatable and easy integration of CCSimTech into TestComplete.
• An executable test suite for TestComplete/CCSimTech, which is built from smaller components for a specific example system.
• An adapted example system that contains known faults.
• A guideline document describing how to create a well-structured suite in TestComplete that supports an efficient workflow with various types of tests at various stages in the testing process using CCSimTech. The document should be relatively hands-on, to be able to use it as a step by step manual.
• A written survey of existing state-of-the-art and state-of-the-practice of the testing process, with a focus on simulated environments and fault injection.
The deliverables shall be written in English.
The documentation desired by CrossControl will form a large part of the actual M.Sc. thesis report.
Company: CrossControl, kontaktperson: Dr Rikard Land
Proposed: 2013-02-19
IDT supervisor: Daniel Sundmark, +46-21-103145
Misc: The thesis is carried out at CrossControl, together with researchers and developers there, and a successful thesis is therefore meriting for future research studies. The thesis may involve some collaboration within partners in the European research projec

Rapport och bilagor


Senaste uppdatering

  • Mälardalen University |
  • Box 883 |
  • 721 23 Västerås/Eskilstuna |
  • 021-101300, 016-153600 |
  • webmaster |
  • Latest update: 2018.08.31