Day: April, 12th 2017 | Room: Pompeian III | Time: 13:30 – 14:30 |
Organizer: Dr. Indradeep Ghosh (Fujistu Labs) | ||
Moderator: Stefano Di Carlo (Politecnico di Torino) |
- Software test challenges: techniques and emerging trends
- Speaker: Indradeep Ghosh (Fujistu Labs)
- Abstract: Software has now pervaded almost all aspects of human life. Bugs present in software are compromising our safety and security at an alarming rate and this is only going to aggravate in future as the scale and scope of software programs continue to expand. Ever increasing customer expectations in terms of features, time-to-market pressures, and reliability guarantees are putting a tremendous strain on the software quality processes. The costs involved with software quality assurance often dwarf the costs to actually develop the software. Testing is a dominant element in software quality assurance, and can happen at various stages of development. Unit level testing is typically done by the software developer, while the component and system level testing are usually done by a dedicated testing team. Manually writing software tests is tedious, difficult, and often gives poor coverage of the source code. Much effort is spent on improving these manually written test suites often leading to development cost overruns. To overcome these drawback various automated test generation and application techniques have been now been developed. In this tutorial I will present our perspective on challenges for automated test generation with a view towards practical deployment. I will highlight some solution that we have developed like symbolic-execution based automated test generation. These tools are being used for testing enterprise applications, web applications, and C/C++ based embedded software applications. The tutorial will also include the experience of trying to deploy such tools within our industrial development framework and some lessons learned
- Embedded Software Testing: Challenges and Approaches
- Speaker: Yashwant Malaiya (Colorado State University)
- Abstract: Today, the devices are increasing intelligent with a significant part of the functionality implemented as embedded software. With the advances in the VLSI technologies, it is not only feasible but also often required, to have sophisticated software approaches incorporated in the devices. While some devices like a pacemaker may have less than 100,000 lines of code, an automobile today may have more than a 100 million lines of code embedded in various devices.
The tutorial will examine approaches for software testing that have emerged and how they can be used in embedded settings. Developing embedded software can be more complex because of the need to interface with the hardware and real-time devices. Many devises are networked, and with IoT devices connected to the internet, security testing is a major challenge. An overview of the specialized approaches for testing embedded software will be presented.