Slicing functional programs by calculation

Bibliographic Details
Main Author: F. Rodrigues, Nuno
Publication Date: 2006
Other Authors: Barbosa, Luís S.
Format: Article
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/11110/520
Summary: Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually targeting either the imperative or the object oriented paradigms, are based on some sort of graph structure representing program dependencies. Slicing techniques amount, therefore, to (sophisticated) graph transversal algorithms. This paper proposes a completely different approach to the slicing problem for functional programs. Instead of extracting program information to build an underlying dependencies’ structure, we resort to standard program calculation strategies, based on the so-called Bird- Meertens formalism. The slicing criterion is specified either as a projection or a hiding function which, once composed with the original program, leads to the identification of the intended slice. Going through a number of examples, the paper suggests this approach may be an interesting, even if not completely general alternative to slicing functional programs
id RCAP_fd1a80fdc8962001f3891b124b6cd959
oai_identifier_str oai:ciencipca.ipca.pt:11110/520
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Slicing functional programs by calculationProgram slicingCalculationprogramsProgram slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually targeting either the imperative or the object oriented paradigms, are based on some sort of graph structure representing program dependencies. Slicing techniques amount, therefore, to (sophisticated) graph transversal algorithms. This paper proposes a completely different approach to the slicing problem for functional programs. Instead of extracting program information to build an underlying dependencies’ structure, we resort to standard program calculation strategies, based on the so-called Bird- Meertens formalism. The slicing criterion is specified either as a projection or a hiding function which, once composed with the original program, leads to the identification of the intended slice. Going through a number of examples, the paper suggests this approach may be an interesting, even if not completely general alternative to slicing functional programsJournal of Universal Computer Science2013-12-20T16:25:27Z2006-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articlehttp://hdl.handle.net/11110/520oai:ciencipca.ipca.pt:11110/520enghttp://hdl.handle.net/11110/520metadata only accessinfo:eu-repo/semantics/openAccessF. Rodrigues, NunoBarbosa, Luís S.reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2022-09-05T12:52:06Zoai:ciencipca.ipca.pt:11110/520Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T10:01:44.733521Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Slicing functional programs by calculation
title Slicing functional programs by calculation
spellingShingle Slicing functional programs by calculation
F. Rodrigues, Nuno
Program slicing
Calculation
programs
title_short Slicing functional programs by calculation
title_full Slicing functional programs by calculation
title_fullStr Slicing functional programs by calculation
title_full_unstemmed Slicing functional programs by calculation
title_sort Slicing functional programs by calculation
author F. Rodrigues, Nuno
author_facet F. Rodrigues, Nuno
Barbosa, Luís S.
author_role author
author2 Barbosa, Luís S.
author2_role author
dc.contributor.author.fl_str_mv F. Rodrigues, Nuno
Barbosa, Luís S.
dc.subject.por.fl_str_mv Program slicing
Calculation
programs
topic Program slicing
Calculation
programs
description Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually targeting either the imperative or the object oriented paradigms, are based on some sort of graph structure representing program dependencies. Slicing techniques amount, therefore, to (sophisticated) graph transversal algorithms. This paper proposes a completely different approach to the slicing problem for functional programs. Instead of extracting program information to build an underlying dependencies’ structure, we resort to standard program calculation strategies, based on the so-called Bird- Meertens formalism. The slicing criterion is specified either as a projection or a hiding function which, once composed with the original program, leads to the identification of the intended slice. Going through a number of examples, the paper suggests this approach may be an interesting, even if not completely general alternative to slicing functional programs
publishDate 2006
dc.date.none.fl_str_mv 2006-01-01T00:00:00Z
2013-12-20T16:25:27Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/11110/520
oai:ciencipca.ipca.pt:11110/520
url http://hdl.handle.net/11110/520
identifier_str_mv oai:ciencipca.ipca.pt:11110/520
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv http://hdl.handle.net/11110/520
dc.rights.driver.fl_str_mv metadata only access
info:eu-repo/semantics/openAccess
rights_invalid_str_mv metadata only access
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Journal of Universal Computer Science
publisher.none.fl_str_mv Journal of Universal Computer Science
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833590389133541376