2001•Spectrum Research Repository (Concordia University)Requires access

Utilizing the notion of removable blocks to enhance program slicing algorithms

Bhaskar Airody Karanth

Open publisher page 0 citations

Abstract

Program slicing is a program decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. Applications of program slicing can be found in software testing, debugging and maintenance where program slicing essentially reduces the amount of data that has to be analyzed in order to comprehend a program or parts of its functionality. In this thesis, two program slicing algorithms based on the notion of removable blocks are presented and they are (1) a general static program slicing algorithm and (2) criterion based hybrid program slicing algorithm. The thesis introduced new syntax tree representation using removable blocks and theorized a new navigation technique for the same. The new static slicing algorithm combined with the enhanced dynamic slicing algorithm is used to derive the criterion based hybrid slicing algorithm. The hybrid program slicing algorithm allows the user to define the range of accuracy between static and dynamic program slicing. These algorithms compute slices that are executable for structured and object-oriented programs. It uses the executable property of new static slicing to reduce the input source code to dynamic slicing to save the time and space. The introduced program slicing approaches are part of M[barbelow]ontreal O[barbelow]bject-O[barbelow]riented S[barbelow]licing E[barbelow]nvironment (MOOSE). MOOSE utilizes the information derived from the program slicing algorithms to enhance the functionality and usability of the framework. The preliminary tests with the basic hybrid program slicing algorithm indicate that hybrid program slicing can reduce the algorithmic time and space for the slice computation as compared to the dynamic program slicing.

Open-access reader

About this research paper

What this paper is about

Program slicing is a program decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. Applications of program slicing can be found in software testing, debugging and maintenance where program slicing essentially reduces the amount of data that has to be analyzed in order to comprehend a program or parts of its functionality. In this thesis, two program slicing algorithms based on the notion of removable blocks are presented and they are (1) a general static program slicing algorithm and (2) criterion based hybrid program slicing algorithm. The thesis introduced new syntax tree representation using removable blocks and theorized a new navigation technique for the same. The new static slicing algorithm combined with the enhanced dynamic slicing algorithm is used to derive the criterion based hybrid slicing algorithm. The hybrid program slicing algorithm allows the user to define the range of accuracy between static and dynamic program slicing. These algorithms compute slices that are executable for structured and object-oriented programs. It uses the executable property of new static slicing to reduce the input source code to dynamic slicing to save the time and space. The introduced program slicing approaches are part of M[barbelow]ontreal O[barbelow]bject-O[barbelow]riented S[barbelow]licing E[barbelow]nvironment (MOOSE). MOOSE utilizes the information derived from the program slicing algorithms to enhance the functionality and usability of the framework. The preliminary tests with the basic hybrid program slicing algorithm indicate that hybrid program slicing can reduce the algorithmic time and space for the slice computation as compared to the dynamic program slicing.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Program slicing is a program decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. Applications of program slicing can be found in software testing, debugging and maintenance where program slicing essentially reduces the amount of data that has to be analyzed in order to comprehend a program or parts of its functionality. In this thesis, two program slicing algorithms based on the notion of removable blocks are presented and they are (1) a general static program slicing algorithm and (2) criterion based hybrid program slicing algorithm. The thesis introduced new syntax tree representation using removable blocks and theorized a new navigation technique for the same. The new static slicing algorithm combined with the enhanced dynamic slicing algorithm is used to derive the criterion based hybrid slicing algorithm. The hybrid program slicing algorithm allows the user to define the range of accuracy between static and dynamic program slicing. These algorithms compute slices that are executable for structured and object-oriented programs. It uses the executable property of new static slicing to reduce the input source code to dynamic slicing to save the time and space. The introduced program slicing approaches are part of M[barbelow]ontreal O[barbelow]bject-O[barbelow]riented S[barbelow]licing E[barbelow]nvironment (MOOSE). MOOSE utilizes the information derived from the program slicing algorithms to enhance the functionality and usability of the framework. The preliminary tests with the basic hybrid program slicing algorithm indicate that hybrid program slicing can reduce the algorithmic time and space for the slice computation as compared to the dynamic program slicing.

Key concepts: Program slicing, Slicing, Computer science, Executable, Debugging, Programming language, Algorithm, Abstract syntax tree

Related papers

Back to paper searchBrowse research topicsOriginal source
Utilizing the notion of removable blocks to enhance program slicing algorithms — Research Paper | ScholarLens