Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing

In the present article, we formally define the notion of abstract program slicing , a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference values and relies on the notion of abstract de...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on computational logic 2017-04, Vol.18 (1), p.1-58
Hauptverfasser: Mastroeni, Isabella, Zanardini, Damiano
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 58
container_issue 1
container_start_page 1
container_title ACM transactions on computational logic
container_volume 18
creator Mastroeni, Isabella
Zanardini, Damiano
description In the present article, we formally define the notion of abstract program slicing , a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference values and relies on the notion of abstract dependencies between program statements. The different forms of (backward) abstract slicing are added to an existing formal framework where traditional, nonabstract forms of slicing could be compared. The extended framework allows us to appreciate that abstract slicing is a generalization of traditional slicing, since each form of traditional slicing (dealing with syntactic dependencies) is generalized by a semantic (nonabstract) form of slicing, which is actually equivalent to an abstract form where the identity abstraction is performed on data. Sound algorithms for computing abstract dependencies and a systematic characterization of program slices are provided, which rely on the notion of agreement between program states.
doi_str_mv 10.1145/3029052
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3029052</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_3029052</sourcerecordid><originalsourceid>FETCH-LOGICAL-c187t-2f7a82710f522ac4b756d341f696e972ccbdb35b40c9d16f5cbcb2951a4a5e6e3</originalsourceid><addsrcrecordid>eNotj8FKAzEUAINYsLbi1WNvnqJ5L3nJ5liKVqHQghZ6W5K3SVlprSR78e-l2NPMaWCEuAf1BGDoWSv0ivBKjIHISW9od3129FK7hm7Eba1fSgE6jWPxMI91KIGH2aac9iUcZx-Hnvvv_VSMcjjUdHfhRGxfXz4Xb3K1Xr4v5ivJ0LhBYnahQQcqE2JgEx3ZThvI1tvkHTLHLmqKRrHvwGbiyBE9QTCBkk16Ih7_u1xOtZaU25_SH0P5bUG156H2MqT_AG9OO10</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing</title><source>ACM Digital Library Complete</source><creator>Mastroeni, Isabella ; Zanardini, Damiano</creator><creatorcontrib>Mastroeni, Isabella ; Zanardini, Damiano</creatorcontrib><description>In the present article, we formally define the notion of abstract program slicing , a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference values and relies on the notion of abstract dependencies between program statements. The different forms of (backward) abstract slicing are added to an existing formal framework where traditional, nonabstract forms of slicing could be compared. The extended framework allows us to appreciate that abstract slicing is a generalization of traditional slicing, since each form of traditional slicing (dealing with syntactic dependencies) is generalized by a semantic (nonabstract) form of slicing, which is actually equivalent to an abstract form where the identity abstraction is performed on data. Sound algorithms for computing abstract dependencies and a systematic characterization of program slices are provided, which rely on the notion of agreement between program states.</description><identifier>ISSN: 1529-3785</identifier><identifier>EISSN: 1557-945X</identifier><identifier>DOI: 10.1145/3029052</identifier><language>eng</language><ispartof>ACM transactions on computational logic, 2017-04, Vol.18 (1), p.1-58</ispartof><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c187t-2f7a82710f522ac4b756d341f696e972ccbdb35b40c9d16f5cbcb2951a4a5e6e3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27903,27904</link.rule.ids></links><search><creatorcontrib>Mastroeni, Isabella</creatorcontrib><creatorcontrib>Zanardini, Damiano</creatorcontrib><title>Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing</title><title>ACM transactions on computational logic</title><description>In the present article, we formally define the notion of abstract program slicing , a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference values and relies on the notion of abstract dependencies between program statements. The different forms of (backward) abstract slicing are added to an existing formal framework where traditional, nonabstract forms of slicing could be compared. The extended framework allows us to appreciate that abstract slicing is a generalization of traditional slicing, since each form of traditional slicing (dealing with syntactic dependencies) is generalized by a semantic (nonabstract) form of slicing, which is actually equivalent to an abstract form where the identity abstraction is performed on data. Sound algorithms for computing abstract dependencies and a systematic characterization of program slices are provided, which rely on the notion of agreement between program states.</description><issn>1529-3785</issn><issn>1557-945X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2017</creationdate><recordtype>article</recordtype><recordid>eNotj8FKAzEUAINYsLbi1WNvnqJ5L3nJ5liKVqHQghZ6W5K3SVlprSR78e-l2NPMaWCEuAf1BGDoWSv0ivBKjIHISW9od3129FK7hm7Eba1fSgE6jWPxMI91KIGH2aac9iUcZx-Hnvvv_VSMcjjUdHfhRGxfXz4Xb3K1Xr4v5ivJ0LhBYnahQQcqE2JgEx3ZThvI1tvkHTLHLmqKRrHvwGbiyBE9QTCBkk16Ih7_u1xOtZaU25_SH0P5bUG156H2MqT_AG9OO10</recordid><startdate>20170401</startdate><enddate>20170401</enddate><creator>Mastroeni, Isabella</creator><creator>Zanardini, Damiano</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20170401</creationdate><title>Abstract Program Slicing</title><author>Mastroeni, Isabella ; Zanardini, Damiano</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c187t-2f7a82710f522ac4b756d341f696e972ccbdb35b40c9d16f5cbcb2951a4a5e6e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2017</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Mastroeni, Isabella</creatorcontrib><creatorcontrib>Zanardini, Damiano</creatorcontrib><collection>CrossRef</collection><jtitle>ACM transactions on computational logic</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Mastroeni, Isabella</au><au>Zanardini, Damiano</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing</atitle><jtitle>ACM transactions on computational logic</jtitle><date>2017-04-01</date><risdate>2017</risdate><volume>18</volume><issue>1</issue><spage>1</spage><epage>58</epage><pages>1-58</pages><issn>1529-3785</issn><eissn>1557-945X</eissn><abstract>In the present article, we formally define the notion of abstract program slicing , a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference values and relies on the notion of abstract dependencies between program statements. The different forms of (backward) abstract slicing are added to an existing formal framework where traditional, nonabstract forms of slicing could be compared. The extended framework allows us to appreciate that abstract slicing is a generalization of traditional slicing, since each form of traditional slicing (dealing with syntactic dependencies) is generalized by a semantic (nonabstract) form of slicing, which is actually equivalent to an abstract form where the identity abstraction is performed on data. Sound algorithms for computing abstract dependencies and a systematic characterization of program slices are provided, which rely on the notion of agreement between program states.</abstract><doi>10.1145/3029052</doi><tpages>58</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1529-3785
ispartof ACM transactions on computational logic, 2017-04, Vol.18 (1), p.1-58
issn 1529-3785
1557-945X
language eng
recordid cdi_crossref_primary_10_1145_3029052
source ACM Digital Library Complete
title Abstract Program Slicing: An Abstract Interpretation-Based Approach to Program Slicing
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-28T01%3A48%3A50IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Abstract%20Program%20Slicing:%20An%20Abstract%20Interpretation-Based%20Approach%20to%20Program%20Slicing&rft.jtitle=ACM%20transactions%20on%20computational%20logic&rft.au=Mastroeni,%20Isabella&rft.date=2017-04-01&rft.volume=18&rft.issue=1&rft.spage=1&rft.epage=58&rft.pages=1-58&rft.issn=1529-3785&rft.eissn=1557-945X&rft_id=info:doi/10.1145/3029052&rft_dat=%3Ccrossref%3E10_1145_3029052%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true