Improved Software through the Use of Static and Dynamic Analysis in Testing
It is a known fact throughout the industry that testing of embedded software is difficult; that there is a problem with quality; and that the testing process itself is not very efficient. This seminar is based on practical experience in improving the software process and testing efficiency in our company. The results apply to software in general, not only to embedded software.
We will demonstrate how we:
Categorizing problems to find common patterns enables defect prevention. When the categorization scheme is accompanied by comprehensive statistics, you can benchmark your company's performance to world class. Such a categorization scheme is published by Boris Beizer in his book: Software Testing Techniques.
Static and Dynamic analysis are tool-based techniques to improve testing efficiency dramatically. The presentation of these will be accompanied by examples in such a tool.
Static analysis is extremely efficient in high-lighting semantic problem areas in the source code regarding misuse of types and variables. Structural metrics are calculated to improve the quality of the code structure, such as McCabe's complexity measure, depth of loop nesting etc.
Dynamic analysis quantifies the test coverage of a software system. You are able to discover those parts of the code that your testcases have not exercised. This makes it easy to generate new testcases, achieve higher coverage of the code, and higher quality at marginal extra cost.
The theory of static and dynamic analysis will be explained, but the seminar will maintain a practical viewpoint, so that you can carry back the ideas and implement them immediately. The presentation will be accompanied by examples run on a commercially available tool.
More informationThe background for this seminar was a Process Improvement Experiment (PET) funded by EU under the ESSI programme. ESSI (European System and Software Initiative) aims at improving Software Best Practice in Europe. The final report can be downloaded from here: Finalrep.doc.
The results of the project were in a shorter form presented at e.g. SQW'96 under the title: "Experience-driven Process Improvement Boosts Software Quality". You can download from here the paper and viewgraphs.
Our recommendations on how to use the test techniques were presented at e.g. SQW'97 and QWE'97 under the title: "How to Apply Static and Dynamic Analysis in Practice". You can download from here the paper and viewgraphs.
All of the experiences and recommendations in the reports above are included in the seminar.
About the instructorOtto Vinter is a software engineering mentor specialising in software process improvements. He is on the programme committee of several international conferences, performs mentoring activities for clients, and is an expert evaluator on the framework programmes of the CEC.
The above work was performed while he was responsible for software process improvements projects at Brüel & Kjær. He has also been active in defining software engineering standards, procedures, and methods to be employed at Brüel & Kjær.
He has managed software development projects for 30 years. He holds a Masters Degree in Computer Science from the Danish Technical University (1968).