Open this publication in new window or tab >>2015 (English)In: Lecture Notes in Computer Science, 2015, p. 50-65Conference paper, Published paper (Refereed)
Abstract [en]
Static program slicing is a technique to detect the program parts (i.e. the “slice”) of the given program possibly affecting a given property. The technique is of interest for analysing safety-critical software, since it can identify the program parts that may affect various safety properties. Verification efforts can then be directed towards those parts, leading to a more efficient verification process. We have developed a novel method for static backward program slicing. The method works for well-structured programs, as commonly demanded by coding standards for safety-critical software. It utilises the program structure to obtain a highly efficient slicing process, where control dependencies are inferred from the program structure, and the slicing is done on-the-fly concurrently with the data dependence analysis. We have evaluated our method experimentally. For applications that require few slices to be taken, like checking for a set of safety properties, we obtain large speedups as compared with the standard method for static backward program slicing. We have also investigated how the speedup varies with various parameters such as code size, size of the slice relative to the full program, and relative frequency of conditions in the code.
Keywords
Dataflow analysis, Program dependency graph, Program slicing, Strongly live variable, Ada (programming language), Codes (symbols), Data flow analysis, Program processors, Safety engineering, Data dependence analysis, Program dependency graphs, Relative frequencies, Safety critical software, Safety critical systems, Verification process, Application programs
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-29840 (URN)10.1007/978-3-319-19584-1_4 (DOI)2-s2.0-84947918293 (Scopus ID)9783319195834 (ISBN)
Conference
20th Ada-Europe International Conference on Reliable Software Technologies, Ada-Europe 2015; Madrid; Spain; 22 June 2015 through 26 June 2015
2015-12-042015-12-042026-06-10Bibliographically approved