mdh.sePublications
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Demand-Driven Static Backward Slicing for Unstructured Programs
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0001-9410-1344
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0001-5297-6548
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0003-3242-6113
2019 (English)Report (Other academic)
Abstract [en]

Backward program slicing identifies the program parts that might influence a particular variable at a program point. A program part (e.g., a statement) can be directly influenced by another part due to its data or control dependence on the later. The classical program slicing approaches are designed to find in advance all the data and control dependencies in the program. This design entails a considerable amount of unnecessary computations because not all the dependencies are required for computing the slice. Demand-driven program slicing approaches try to raise the analysis performance by avoiding the unnecessary computations. However, these approaches cannot address unstructured programs in a demand-driven fashion. On the other hand, the existing techniques that compute the control dependencies in unstructured programs are based on fixed-point iterations, which limits their integration to the demand-driven slicing approaches. Program slicing based on Predicate Code Block (PCB) is a new demand-driven slicing approach that can address only structured programs. This paper presents the first demand-driven technique to compute the control dependencies in unstructured programs. In this regard, the technique uses flow information, location-based information and syntactic structure of the source code. Further, the paper shows how the new technique can be integrated to the PCB-based slicing approach to address unstructured programs.

Place, publisher, year, edition, pages
2019.
Keywords [en]
Static Program AnalysisPredicate Control BlockControl DependenceStatic Program SlicingUnstructured Programs.
National Category
Engineering and Technology Computer Systems
Identifiers
URN: urn:nbn:se:mdh:diva-45033ISRN: MDH-MRTC-324/2019-1-SEOAI: oai:DiVA.org:mdh-45033DiVA, id: diva2:1345073
Projects
TESTOMAT Project - The Next Level of Test AutomationAvailable from: 2019-08-22 Created: 2019-08-22 Last updated: 2019-09-17Bibliographically approved
In thesis
1. Demand-Driven Static Backward Program Slicing Based on Predicated Code Block Graphs
Open this publication in new window or tab >>Demand-Driven Static Backward Program Slicing Based on Predicated Code Block Graphs
2019 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Static backward program slicing is a technique to compute the set of program statements, predicates and inputs that might affect the value of a particular variable at a program location. The importance of this technique comes from being an essential part of many critical areas such as program maintenance, testing, verification, debugging, among others. The state-of-art slicing approach collects all the data- and control-flow information in the source code before the slicing, but not all the collected information are used for computing the slice. Thus, this approach causes a significant amount of unnecessary computations, particularly for slicing large industrial systems, where unnecessary computations lead to wastage of a considerable amount of processing time and memory. Moreover, this approach often suffers from scalability issues.

The demand-driven slicing approaches aim at solving this problem by avoiding unnecessary computations. However, some of these approaches trade precision for performance, whereas others are not entirely demand-driven, particularly for addressing unstructured programs, pointer analysis, or inter-procedural cases.

This thesis presents a new demand-driven slicing approach that addresses well-structured, unstructured, and inter-procedural programs. This approach has four distinct features, each of which prevents a special type of unnececessary computations. The effectiveness and correctness of the proposed approach are verified using experimental evaluation. In addition, the thesis proposes an approach that can compute on the fly the control dependencies in unstructured programs.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2019
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 284
Keywords
Static Program Analysis, Static Program Slicing, Control Dependency
National Category
Embedded Systems
Identifiers
urn:nbn:se:mdh:diva-45229 (URN)978-91-7485-440-4 (ISBN)
Presentation
2019-11-27, Gamma, Mälardalens högskola, Västerås, 13:15 (English)
Opponent
Supervisors
Funder
Knowledge FoundationVinnovaSwedish Foundation for Strategic Research
Available from: 2019-09-19 Created: 2019-09-16 Last updated: 2019-09-19Bibliographically approved

Open Access in DiVA

fulltext(1794 kB)8 downloads
File information
File name FULLTEXT01.pdfFile size 1794 kBChecksum SHA-512
abf6bc040fd02ea5f8ef89134063c23ffe5db39f08c8074719a96d89a8e54c1450685f81539324c51b3087189e658510fa42ca7cb2de37d73da3fb5d7608c6de
Type fulltextMimetype application/pdf

Authority records BETA

Khanfar, HusniLisper, BjörnMubeen, Saad

Search in DiVA

By author/editor
Khanfar, HusniLisper, BjörnMubeen, Saad
By organisation
Embedded Systems
Engineering and TechnologyComputer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 8 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 51 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf