Skip to main content

Automating target analysis to speed up the dependability analysis of complex real time software modules

Objective

Real time software for control applications may exhibit misbehaviours during the validation phase as well as in operation or during maintenance. Software developers must then quickly address the bug issues, while getting into very complex architectures. The ATASDAS project aims at building a toolbox, which is based on the "pencil and paper" approach used by experts in dependability analysis. This tool will greatly automate dependability analysis, implementing heuristics and algorithms of graph theory, in order to obtain the following attributes at a much faster pace than the "pencil and paper" approach:
- The software architecture;
- The call graph of each parallel processing steps built into the software;
- The data dependency graph based on the critical inputs of each parallel processing;
- The data dependency graph generating the critical outputs of each parallel processing;
- The data flow graph of the software of each parallel processing;
- The data share between each parallel processing
- Appropriate metrics describing the analysed software both at component level and at system level, i.e. the call graph depth, the number of components, the input and output statistics per component, etc.
The ATASDAS tool will work with any source code written in current real time software languages (C, C++, Ada, Modula 2), in compliance with any of the major standards dealing with software dependability.
This static analysis approach, which makes sense when it deals with the preliminary steps of a target analysis, will also provide some key information about the relevant "real time information" needed for analysis dealing with real time, deterministic, synchronous systems (through the call graph and dependency graphs). The ATASDAS software tool will help real time software project managers and their quality counterpart to speed up the first analysis of failing source codes, without having the important prior background, which experts have acquired in dealing with pre Real time software for control applications may exhibit misbehaviours during the validation phase as well as in operation or during maintenance. Software developers must then quickly address the bug issues, while getting into very complex architectures. The ATASDAS project aims at building a toolbox, which is based on the "pencil and paper" approach used by experts in dependability analysis. This tool will greatly automate dependability analysis, implementing heuristics and algorithms of graph theory, in order to obtain the following attributes at a much faster pace than the "pencil and paper" approach:
- The software architecture;
- The call graph of each parallel processing steps built into the software;
- The data dependency graph based on the critical inputs of each parallel processing;
- The data dependency graph generating the critical outputs of each parallel processing;
- The data flow graph of the software of each parallel processing;
- The data share between each parallel processing
- Appropriate metrics describing the analysed software both at component level and at system level, i.e. the call graph depth, the number of components, the input and output statistics per component, etc.
The ATASDAS tool will work with any source code written in current real time software languages (C, C++, Ada, Modula 2), in compliance with any of the major standards dealing with software dependability.
This static analysis approach, which makes sense when it deals with the preliminary steps of a target analysis, will also provide some key information about the relevant "real time information" needed for analysis dealing with real time, deterministic, synchronous systems (through the call graph and dependency graphs). The ATASDAS software tool will help real time software project managers and their quality counterpart to speed up the first analysis of failing source codes, without having the important prior background, which experts have acquired in dealing with pre

OBJECTIVES
The ATASDAS project has six operational objectives:
- Build a prototype of the ATASDAS software tool based on specifications of the industrial partners;

- Validate the use of the tool by the quality departments of two participating medical software houses;

- Validate the use of the tool by the dependability expert groups of two participating quality software companies;

- Measure productivity gains using the tool in the target analysis phase of complex dependability analysis;

- Develop interfaces of the tool with existing downstream software reliability tools.

DESCRIPTION OF WORK
ATASDAS will develop a tool for quick and automatic building of a knowledge database from the source code of an existing real time software application. The information in the database will give a first opinion on how and where the application might fail in order to correct or improve it and/or to pre-evaluate its safety level. The main benefit of the ATASDAS tool is to automate the first steps of a dependability analysis and therefore to shorten the amount of time needed to handle the initial part of the source code static analysis phase. ATASDAS elaborates an identity card of software and its components, so that the source code static analyses (path analysis, boundary analysis, symbolic execution) will be performed more efficiently. ATASDAS also allows identifying the target of analysis when building the functional model needed for each safety analysis such as FMEA (Failure Mode and Effect Analysis) or a fault tree analysis.

Moreover, ATASDAS integrates its own project version management in order to be able to treat several versions of a same source code of a project and to support multi-users.

While facing most of the main languages used in the industrial field (C/C++, Ada, Modula-2?) and the related standards (IEC 61508-3, CENELEC prEN50128 , IEC 880, DO-178B / ED-12B, ECSS-E40, GAM-T17 ), ATASDAS intends to address a large number of interacting components in a short time, say 200 components or 20.000 lines of codes investigated per day.

Funding Scheme

THN - Thematic network contracts

Coordinator

SPACEBEL
Address
Parc Scientifique Du Sart-tilman - Rue Chasseurs Ardennais
4031 Liege (Angleur)
Belgium

Participants (4)

CRITICAL SOFTWARE SA
Portugal
Address
En1/ic2, Km 185,6 Banhos Secos
3040-032 Santa Clara (Coimbra)
SURLOG
France
Address
1 Bis Rue Du Petit Clamart
78140 Velizy Villacoublay
TAM TELESANTE
France
Address
Ceei - Domaine Du Petit Arbois
13545 Aix En Provence Cedex 4
XLAB RAZVOJ PROGRAMSKE OPREME IN SVETOVANJE D.O.O.
Slovenia
Address
Teslova Ulica 30
1000 Ljubljana