Verification of tree-processing programs via higher-order mode checking

We propose a new method to verify that a higher-order, tree-processing functional program conforms to an input/output specification. Our method reduces the verification problem to multiple verification problems for higher-order multi-tree transducers, which are then transformed into higher-order rec...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Mathematical structures in computer science 2015-05, Vol.25 (4), p.841-866
Hauptverfasser: UNNO, HIROSHI, TABUCHI, NAOSHI, KOBAYASHI, NAOKI
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 866
container_issue 4
container_start_page 841
container_title Mathematical structures in computer science
container_volume 25
creator UNNO, HIROSHI
TABUCHI, NAOSHI
KOBAYASHI, NAOKI
description We propose a new method to verify that a higher-order, tree-processing functional program conforms to an input/output specification. Our method reduces the verification problem to multiple verification problems for higher-order multi-tree transducers, which are then transformed into higher-order recursion schemes and model-checked. Unlike previous methods, our new method can deal with arbitrary higher-order functional programs manipulating algebraic data structures, as long as certain invariants on intermediate data structures are provided by a programmer. We have proved the soundness of the method and implemented a prototype verifier.
doi_str_mv 10.1017/S0960129513000054
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1685788783</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><cupid>10_1017_S0960129513000054</cupid><sourcerecordid>1685788783</sourcerecordid><originalsourceid>FETCH-LOGICAL-c578t-e6632b22b3ea8b6356763cb23f82d4d6537e872a2d517bacd7c12003ed22680b3</originalsourceid><addsrcrecordid>eNp1kE1LAzEQhoMoWKs_wNuCFy_RfHST7FGKVqHgwY_rko_ZbWp3U5Ot4L83iz2I4lxm4H3ed4ZB6JySK0qovH4ilSCUVSXlJFc5O0ATOhMVVkSyQzQZZTzqx-gkpTUhlFNSTdDiFaJvvNWDD30RmmKIAHgbg4WUfN8WeWyj7lLx4XWx8u0KIg7RQSy64KCwK7BvmTtFR43eJDjb9yl6ubt9nt_j5ePiYX6zxLaUasAgBGeGMcNBKyN4KaTg1jDeKOZmTpRcgpJMM1dSabR10lJGCAfHmFDE8Cm6_M7Nd73vIA1155OFzUb3EHappkLlRUoqntGLX-g67GKfr8uUZJQIxkeKflM2hpQiNPU2-k7Hz5qSenxt_ee12cP3Ht2Z6F0LP6L_dX0BgdR5cA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1672106233</pqid></control><display><type>article</type><title>Verification of tree-processing programs via higher-order mode checking</title><source>Cambridge Journals</source><creator>UNNO, HIROSHI ; TABUCHI, NAOSHI ; KOBAYASHI, NAOKI</creator><creatorcontrib>UNNO, HIROSHI ; TABUCHI, NAOSHI ; KOBAYASHI, NAOKI</creatorcontrib><description>We propose a new method to verify that a higher-order, tree-processing functional program conforms to an input/output specification. Our method reduces the verification problem to multiple verification problems for higher-order multi-tree transducers, which are then transformed into higher-order recursion schemes and model-checked. Unlike previous methods, our new method can deal with arbitrary higher-order functional programs manipulating algebraic data structures, as long as certain invariants on intermediate data structures are provided by a programmer. We have proved the soundness of the method and implemented a prototype verifier.</description><identifier>ISSN: 0960-1295</identifier><identifier>EISSN: 1469-8072</identifier><identifier>DOI: 10.1017/S0960129513000054</identifier><language>eng</language><publisher>Cambridge, UK: Cambridge University Press</publisher><subject>Data structures ; Input output analysis ; Invariants ; Mathematical analysis ; Mathematical functions ; Mathematical models ; Programmers ; Prototypes ; Recursion ; Specifications ; Transducers</subject><ispartof>Mathematical structures in computer science, 2015-05, Vol.25 (4), p.841-866</ispartof><rights>Copyright © Cambridge University Press 2014</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c578t-e6632b22b3ea8b6356763cb23f82d4d6537e872a2d517bacd7c12003ed22680b3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.cambridge.org/core/product/identifier/S0960129513000054/type/journal_article$$EHTML$$P50$$Gcambridge$$H</linktohtml><link.rule.ids>164,314,776,780,27901,27902,55603</link.rule.ids></links><search><creatorcontrib>UNNO, HIROSHI</creatorcontrib><creatorcontrib>TABUCHI, NAOSHI</creatorcontrib><creatorcontrib>KOBAYASHI, NAOKI</creatorcontrib><title>Verification of tree-processing programs via higher-order mode checking</title><title>Mathematical structures in computer science</title><addtitle>Math. Struct. Comp. Sci</addtitle><description>We propose a new method to verify that a higher-order, tree-processing functional program conforms to an input/output specification. Our method reduces the verification problem to multiple verification problems for higher-order multi-tree transducers, which are then transformed into higher-order recursion schemes and model-checked. Unlike previous methods, our new method can deal with arbitrary higher-order functional programs manipulating algebraic data structures, as long as certain invariants on intermediate data structures are provided by a programmer. We have proved the soundness of the method and implemented a prototype verifier.</description><subject>Data structures</subject><subject>Input output analysis</subject><subject>Invariants</subject><subject>Mathematical analysis</subject><subject>Mathematical functions</subject><subject>Mathematical models</subject><subject>Programmers</subject><subject>Prototypes</subject><subject>Recursion</subject><subject>Specifications</subject><subject>Transducers</subject><issn>0960-1295</issn><issn>1469-8072</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2015</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><recordid>eNp1kE1LAzEQhoMoWKs_wNuCFy_RfHST7FGKVqHgwY_rko_ZbWp3U5Ot4L83iz2I4lxm4H3ed4ZB6JySK0qovH4ilSCUVSXlJFc5O0ATOhMVVkSyQzQZZTzqx-gkpTUhlFNSTdDiFaJvvNWDD30RmmKIAHgbg4WUfN8WeWyj7lLx4XWx8u0KIg7RQSy64KCwK7BvmTtFR43eJDjb9yl6ubt9nt_j5ePiYX6zxLaUasAgBGeGMcNBKyN4KaTg1jDeKOZmTpRcgpJMM1dSabR10lJGCAfHmFDE8Cm6_M7Nd73vIA1155OFzUb3EHappkLlRUoqntGLX-g67GKfr8uUZJQIxkeKflM2hpQiNPU2-k7Hz5qSenxt_ee12cP3Ht2Z6F0LP6L_dX0BgdR5cA</recordid><startdate>20150501</startdate><enddate>20150501</enddate><creator>UNNO, HIROSHI</creator><creator>TABUCHI, NAOSHI</creator><creator>KOBAYASHI, NAOKI</creator><general>Cambridge University Press</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>88I</scope><scope>8AL</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>M2P</scope><scope>M7S</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope></search><sort><creationdate>20150501</creationdate><title>Verification of tree-processing programs via higher-order mode checking</title><author>UNNO, HIROSHI ; TABUCHI, NAOSHI ; KOBAYASHI, NAOKI</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c578t-e6632b22b3ea8b6356763cb23f82d4d6537e872a2d517bacd7c12003ed22680b3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2015</creationdate><topic>Data structures</topic><topic>Input output analysis</topic><topic>Invariants</topic><topic>Mathematical analysis</topic><topic>Mathematical functions</topic><topic>Mathematical models</topic><topic>Programmers</topic><topic>Prototypes</topic><topic>Recursion</topic><topic>Specifications</topic><topic>Transducers</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>UNNO, HIROSHI</creatorcontrib><creatorcontrib>TABUCHI, NAOSHI</creatorcontrib><creatorcontrib>KOBAYASHI, NAOKI</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Science Database (Alumni Edition)</collection><collection>Computing Database (Alumni Edition)</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>Science Database</collection><collection>Engineering Database</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection><collection>ProQuest Central Basic</collection><jtitle>Mathematical structures in computer science</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>UNNO, HIROSHI</au><au>TABUCHI, NAOSHI</au><au>KOBAYASHI, NAOKI</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Verification of tree-processing programs via higher-order mode checking</atitle><jtitle>Mathematical structures in computer science</jtitle><addtitle>Math. Struct. Comp. Sci</addtitle><date>2015-05-01</date><risdate>2015</risdate><volume>25</volume><issue>4</issue><spage>841</spage><epage>866</epage><pages>841-866</pages><issn>0960-1295</issn><eissn>1469-8072</eissn><abstract>We propose a new method to verify that a higher-order, tree-processing functional program conforms to an input/output specification. Our method reduces the verification problem to multiple verification problems for higher-order multi-tree transducers, which are then transformed into higher-order recursion schemes and model-checked. Unlike previous methods, our new method can deal with arbitrary higher-order functional programs manipulating algebraic data structures, as long as certain invariants on intermediate data structures are provided by a programmer. We have proved the soundness of the method and implemented a prototype verifier.</abstract><cop>Cambridge, UK</cop><pub>Cambridge University Press</pub><doi>10.1017/S0960129513000054</doi><tpages>26</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0960-1295
ispartof Mathematical structures in computer science, 2015-05, Vol.25 (4), p.841-866
issn 0960-1295
1469-8072
language eng
recordid cdi_proquest_miscellaneous_1685788783
source Cambridge Journals
subjects Data structures
Input output analysis
Invariants
Mathematical analysis
Mathematical functions
Mathematical models
Programmers
Prototypes
Recursion
Specifications
Transducers
title Verification of tree-processing programs via higher-order mode checking
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-02T22%3A28%3A17IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Verification%20of%20tree-processing%20programs%20via%20higher-order%20mode%20checking&rft.jtitle=Mathematical%20structures%20in%20computer%20science&rft.au=UNNO,%20HIROSHI&rft.date=2015-05-01&rft.volume=25&rft.issue=4&rft.spage=841&rft.epage=866&rft.pages=841-866&rft.issn=0960-1295&rft.eissn=1469-8072&rft_id=info:doi/10.1017/S0960129513000054&rft_dat=%3Cproquest_cross%3E1685788783%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1672106233&rft_id=info:pmid/&rft_cupid=10_1017_S0960129513000054&rfr_iscdi=true