Automatic Testing of Program Slicers

Program slicing is a technique to extract the part of a program (the slice) that influences or is influenced by a set of variables at a given point (the slicing criterion). Computing minimal slices is undecidable in the general case, and obtaining the minimal slice of a given program is normally com...

Full description

Bibliographic Details
Main Authors: Sergio Pérez, Josep Silva, Salvador Tamarit
Format: Article
Language:English
Published: Hindawi Limited 2019-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/2019/4108652
id doaj-c5a4cc2e31f247f2af8ef8baa1d71925
record_format Article
spelling doaj-c5a4cc2e31f247f2af8ef8baa1d719252021-07-02T03:51:31ZengHindawi LimitedScientific Programming1058-92441875-919X2019-01-01201910.1155/2019/41086524108652Automatic Testing of Program SlicersSergio Pérez0Josep Silva1Salvador Tamarit2Universitat Politècnica de València, Camí de Vera s/n, E-46022 València, SpainUniversitat Politècnica de València, Camí de Vera s/n, E-46022 València, SpainUniversitat Politècnica de València, Camí de Vera s/n, E-46022 València, SpainProgram slicing is a technique to extract the part of a program (the slice) that influences or is influenced by a set of variables at a given point (the slicing criterion). Computing minimal slices is undecidable in the general case, and obtaining the minimal slice of a given program is normally computationally prohibitive even for very small programs. Therefore, no matter what program slicer we use, in general, we cannot be sure that our slices are minimal. This is probably the fundamental reason why no benchmark collection of minimal program slices exists. In this work, we present a method to automatically produce quasi-minimal slices. Using our method, we have produced a suite of quasi-minimal slices for Erlang that we have later manually proved they are minimal. We explain the process of constructing the suite, the methodology and tools that were used, and the results obtained. The suite comes with a collection of Erlang benchmarks together with different slicing criteria and the associated minimal slices.http://dx.doi.org/10.1155/2019/4108652
collection DOAJ
language English
format Article
sources DOAJ
author Sergio Pérez
Josep Silva
Salvador Tamarit
spellingShingle Sergio Pérez
Josep Silva
Salvador Tamarit
Automatic Testing of Program Slicers
Scientific Programming
author_facet Sergio Pérez
Josep Silva
Salvador Tamarit
author_sort Sergio Pérez
title Automatic Testing of Program Slicers
title_short Automatic Testing of Program Slicers
title_full Automatic Testing of Program Slicers
title_fullStr Automatic Testing of Program Slicers
title_full_unstemmed Automatic Testing of Program Slicers
title_sort automatic testing of program slicers
publisher Hindawi Limited
series Scientific Programming
issn 1058-9244
1875-919X
publishDate 2019-01-01
description Program slicing is a technique to extract the part of a program (the slice) that influences or is influenced by a set of variables at a given point (the slicing criterion). Computing minimal slices is undecidable in the general case, and obtaining the minimal slice of a given program is normally computationally prohibitive even for very small programs. Therefore, no matter what program slicer we use, in general, we cannot be sure that our slices are minimal. This is probably the fundamental reason why no benchmark collection of minimal program slices exists. In this work, we present a method to automatically produce quasi-minimal slices. Using our method, we have produced a suite of quasi-minimal slices for Erlang that we have later manually proved they are minimal. We explain the process of constructing the suite, the methodology and tools that were used, and the results obtained. The suite comes with a collection of Erlang benchmarks together with different slicing criteria and the associated minimal slices.
url http://dx.doi.org/10.1155/2019/4108652
work_keys_str_mv AT sergioperez automatictestingofprogramslicers
AT josepsilva automatictestingofprogramslicers
AT salvadortamarit automatictestingofprogramslicers
_version_ 1721341058684551168