ADI: Automatic Derivation of Invariants
Most current systems for mechanical program verification are not fully automatic, since the user himself must provide the intermediate inductive assertions. This paper describes an interactive computer program, called ADI, which automatically generates the needed inductive assertions. ADI is also ab...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on software engineering 1980-01, Vol.SE-6 (1), p.40-48 |
---|---|
1. Verfasser: | |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 48 |
---|---|
container_issue | 1 |
container_start_page | 40 |
container_title | IEEE transactions on software engineering |
container_volume | SE-6 |
creator | Tamir, M. |
description | Most current systems for mechanical program verification are not fully automatic, since the user himself must provide the intermediate inductive assertions. This paper describes an interactive computer program, called ADI, which automatically generates the needed inductive assertions. ADI is also able to extend partial loop assertions supplied by the user to form complete assertions. The implementation (written in QLISP and INTERLISP) is based on both the algorithmic and the heuristic approaches introduced by Katz and Manna in "Logical Analysis of Programs" [25]. For the algorithmic subsystem ADI includes: Difference Equations Constructor, Difference Equations Solver, and Invariants from Conditional Statements Generator. The heuristic subsystem includes: Exit Rules Package, Bounding Variables Component, Strengthening Executer, Weakening Executer, and a Heuristic Invariant Matcher-which is the actual implementation of two new heuristics, MATCHPQ and MATCHPT. ADI is a small step toward interactive, practical program verification. |
doi_str_mv | 10.1109/TSE.1980.230461 |
format | Article |
fullrecord | <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_crossref_primary_10_1109_TSE_1980_230461</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>1702693</ieee_id><sourcerecordid>7091114</sourcerecordid><originalsourceid>FETCH-LOGICAL-c318t-b016694b4b056db0cbf208b753d07cab00e2a4de913a8a038d271bb8e2fc8cac3</originalsourceid><addsrcrecordid>eNpdkM9LwzAUx4MoOKdnD16Kl526vSRNk3gb29TBwIPzHJI0hY6tmUk78L9fRgXB03uHz_f9-CD0iGGKMcjZ9nM1xVLAlFAoSnyFRlhSmVNG4BqNAKTIGRPyFt3FuAMAxjkbocl8uX7J5n3nD7prbLZ0oTmlzreZr7N1e9Kh0W0X79FNrffRPfzWMfp6XW0X7_nm4229mG9yS7HocgO4LGVhCgOsrAxYUxMQhjNaAbfaADiii8pJTLXQQEVFODZGOFJbYbWlYzQZ5h6D_-5d7NShidbt97p1vo-KF2kPsAIS-fyP3Pk-tOk4hSVjPP2NEzQbIBt8jMHV6hiagw4_CoO6aFNJm7poU4O2lHgaEo1z7o_mQEpJ6RmTS2aV</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>195575201</pqid></control><display><type>article</type><title>ADI: Automatic Derivation of Invariants</title><source>IEEE Electronic Library (IEL)</source><creator>Tamir, M.</creator><creatorcontrib>Tamir, M.</creatorcontrib><description>Most current systems for mechanical program verification are not fully automatic, since the user himself must provide the intermediate inductive assertions. This paper describes an interactive computer program, called ADI, which automatically generates the needed inductive assertions. ADI is also able to extend partial loop assertions supplied by the user to form complete assertions. The implementation (written in QLISP and INTERLISP) is based on both the algorithmic and the heuristic approaches introduced by Katz and Manna in "Logical Analysis of Programs" [25]. For the algorithmic subsystem ADI includes: Difference Equations Constructor, Difference Equations Solver, and Invariants from Conditional Statements Generator. The heuristic subsystem includes: Exit Rules Package, Bounding Variables Component, Strengthening Executer, Weakening Executer, and a Heuristic Invariant Matcher-which is the actual implementation of two new heuristics, MATCHPQ and MATCHPT. ADI is a small step toward interactive, practical program verification.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.1980.230461</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Algorithm design and analysis ; Algorithms ; Assertions ; Computers ; Counting circuits ; Data mining ; Difference equations ; Flowcharts ; Heuristic ; Heuristic algorithms ; Information retrieval ; Input variables ; Interactive ; invariants ; Language ; Mathematics ; Methods ; Packaging ; partial correctness ; program verification ; Programs ; QLISP ; Software ; synthesis of invariants ; Systems ; Testing ; Verification</subject><ispartof>IEEE transactions on software engineering, 1980-01, Vol.SE-6 (1), p.40-48</ispartof><rights>Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Jan 1980</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c318t-b016694b4b056db0cbf208b753d07cab00e2a4de913a8a038d271bb8e2fc8cac3</citedby><cites>FETCH-LOGICAL-c318t-b016694b4b056db0cbf208b753d07cab00e2a4de913a8a038d271bb8e2fc8cac3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/1702693$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,796,27924,27925,54758</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/1702693$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Tamir, M.</creatorcontrib><title>ADI: Automatic Derivation of Invariants</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>Most current systems for mechanical program verification are not fully automatic, since the user himself must provide the intermediate inductive assertions. This paper describes an interactive computer program, called ADI, which automatically generates the needed inductive assertions. ADI is also able to extend partial loop assertions supplied by the user to form complete assertions. The implementation (written in QLISP and INTERLISP) is based on both the algorithmic and the heuristic approaches introduced by Katz and Manna in "Logical Analysis of Programs" [25]. For the algorithmic subsystem ADI includes: Difference Equations Constructor, Difference Equations Solver, and Invariants from Conditional Statements Generator. The heuristic subsystem includes: Exit Rules Package, Bounding Variables Component, Strengthening Executer, Weakening Executer, and a Heuristic Invariant Matcher-which is the actual implementation of two new heuristics, MATCHPQ and MATCHPT. ADI is a small step toward interactive, practical program verification.</description><subject>Algorithm design and analysis</subject><subject>Algorithms</subject><subject>Assertions</subject><subject>Computers</subject><subject>Counting circuits</subject><subject>Data mining</subject><subject>Difference equations</subject><subject>Flowcharts</subject><subject>Heuristic</subject><subject>Heuristic algorithms</subject><subject>Information retrieval</subject><subject>Input variables</subject><subject>Interactive</subject><subject>invariants</subject><subject>Language</subject><subject>Mathematics</subject><subject>Methods</subject><subject>Packaging</subject><subject>partial correctness</subject><subject>program verification</subject><subject>Programs</subject><subject>QLISP</subject><subject>Software</subject><subject>synthesis of invariants</subject><subject>Systems</subject><subject>Testing</subject><subject>Verification</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1980</creationdate><recordtype>article</recordtype><sourceid>8G5</sourceid><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><sourceid>GUQSH</sourceid><sourceid>M2O</sourceid><recordid>eNpdkM9LwzAUx4MoOKdnD16Kl526vSRNk3gb29TBwIPzHJI0hY6tmUk78L9fRgXB03uHz_f9-CD0iGGKMcjZ9nM1xVLAlFAoSnyFRlhSmVNG4BqNAKTIGRPyFt3FuAMAxjkbocl8uX7J5n3nD7prbLZ0oTmlzreZr7N1e9Kh0W0X79FNrffRPfzWMfp6XW0X7_nm4229mG9yS7HocgO4LGVhCgOsrAxYUxMQhjNaAbfaADiii8pJTLXQQEVFODZGOFJbYbWlYzQZ5h6D_-5d7NShidbt97p1vo-KF2kPsAIS-fyP3Pk-tOk4hSVjPP2NEzQbIBt8jMHV6hiagw4_CoO6aFNJm7poU4O2lHgaEo1z7o_mQEpJ6RmTS2aV</recordid><startdate>198001</startdate><enddate>198001</enddate><creator>Tamir, M.</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7WY</scope><scope>7WZ</scope><scope>7X7</scope><scope>7XB</scope><scope>87Z</scope><scope>88E</scope><scope>88F</scope><scope>88I</scope><scope>88K</scope><scope>8AL</scope><scope>8FE</scope><scope>8FG</scope><scope>8FI</scope><scope>8FJ</scope><scope>8FK</scope><scope>8FL</scope><scope>8G5</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BEZIV</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>FRNLG</scope><scope>FYUFA</scope><scope>F~G</scope><scope>GHDGH</scope><scope>GNUQQ</scope><scope>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K60</scope><scope>K6~</scope><scope>K7-</scope><scope>K9.</scope><scope>L.-</scope><scope>L6V</scope><scope>M0C</scope><scope>M0N</scope><scope>M0S</scope><scope>M1P</scope><scope>M1Q</scope><scope>M2O</scope><scope>M2P</scope><scope>M2T</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PQBIZ</scope><scope>PQBZA</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>198001</creationdate><title>ADI: Automatic Derivation of Invariants</title><author>Tamir, M.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c318t-b016694b4b056db0cbf208b753d07cab00e2a4de913a8a038d271bb8e2fc8cac3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1980</creationdate><topic>Algorithm design and analysis</topic><topic>Algorithms</topic><topic>Assertions</topic><topic>Computers</topic><topic>Counting circuits</topic><topic>Data mining</topic><topic>Difference equations</topic><topic>Flowcharts</topic><topic>Heuristic</topic><topic>Heuristic algorithms</topic><topic>Information retrieval</topic><topic>Input variables</topic><topic>Interactive</topic><topic>invariants</topic><topic>Language</topic><topic>Mathematics</topic><topic>Methods</topic><topic>Packaging</topic><topic>partial correctness</topic><topic>program verification</topic><topic>Programs</topic><topic>QLISP</topic><topic>Software</topic><topic>synthesis of invariants</topic><topic>Systems</topic><topic>Testing</topic><topic>Verification</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Tamir, M.</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Access via ABI/INFORM (ProQuest)</collection><collection>ABI/INFORM Global (PDF only)</collection><collection>Health & Medical Collection</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>ABI/INFORM Global (Alumni Edition)</collection><collection>Medical Database (Alumni Edition)</collection><collection>Military Database (Alumni Edition)</collection><collection>Science Database (Alumni Edition)</collection><collection>Telecommunications (Alumni Edition)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Hospital Premium Collection</collection><collection>Hospital Premium Collection (Alumni Edition)</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ABI/INFORM Collection (Alumni Edition)</collection><collection>Research Library (Alumni Edition)</collection><collection>Materials Science & Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Business Premium Collection</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>Business Premium Collection (Alumni)</collection><collection>Health Research Premium Collection</collection><collection>ABI/INFORM Global (Corporate)</collection><collection>Health Research Premium Collection (Alumni)</collection><collection>ProQuest Central Student</collection><collection>Research Library Prep</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Business Collection (Alumni Edition)</collection><collection>ProQuest Business Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Health & Medical Complete (Alumni)</collection><collection>ABI/INFORM Professional Advanced</collection><collection>ProQuest Engineering Collection</collection><collection>ABI/INFORM Global</collection><collection>Computing Database</collection><collection>Health & Medical Collection (Alumni Edition)</collection><collection>Medical Database</collection><collection>Military Database</collection><collection>Research Library</collection><collection>Science Database</collection><collection>Telecommunications Database</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>Advanced Technologies & Aerospace Database</collection><collection>ProQuest Advanced Technologies & Aerospace Collection</collection><collection>ProQuest One Business</collection><collection>ProQuest One Business (Alumni)</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><collection>Computer and Information Systems Abstracts</collection><collection>Electronics & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology & Engineering</collection><collection>Engineering Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>IEEE transactions on software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Tamir, M.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>ADI: Automatic Derivation of Invariants</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>1980-01</date><risdate>1980</risdate><volume>SE-6</volume><issue>1</issue><spage>40</spage><epage>48</epage><pages>40-48</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>Most current systems for mechanical program verification are not fully automatic, since the user himself must provide the intermediate inductive assertions. This paper describes an interactive computer program, called ADI, which automatically generates the needed inductive assertions. ADI is also able to extend partial loop assertions supplied by the user to form complete assertions. The implementation (written in QLISP and INTERLISP) is based on both the algorithmic and the heuristic approaches introduced by Katz and Manna in "Logical Analysis of Programs" [25]. For the algorithmic subsystem ADI includes: Difference Equations Constructor, Difference Equations Solver, and Invariants from Conditional Statements Generator. The heuristic subsystem includes: Exit Rules Package, Bounding Variables Component, Strengthening Executer, Weakening Executer, and a Heuristic Invariant Matcher-which is the actual implementation of two new heuristics, MATCHPQ and MATCHPT. ADI is a small step toward interactive, practical program verification.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.1980.230461</doi><tpages>9</tpages></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | ISSN: 0098-5589 |
ispartof | IEEE transactions on software engineering, 1980-01, Vol.SE-6 (1), p.40-48 |
issn | 0098-5589 1939-3520 |
language | eng |
recordid | cdi_crossref_primary_10_1109_TSE_1980_230461 |
source | IEEE Electronic Library (IEL) |
subjects | Algorithm design and analysis Algorithms Assertions Computers Counting circuits Data mining Difference equations Flowcharts Heuristic Heuristic algorithms Information retrieval Input variables Interactive invariants Language Mathematics Methods Packaging partial correctness program verification Programs QLISP Software synthesis of invariants Systems Testing Verification |
title | ADI: Automatic Derivation of Invariants |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-04T13%3A54%3A56IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=ADI:%20Automatic%20Derivation%20of%20Invariants&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Tamir,%20M.&rft.date=1980-01&rft.volume=SE-6&rft.issue=1&rft.spage=40&rft.epage=48&rft.pages=40-48&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.1980.230461&rft_dat=%3Cproquest_RIE%3E7091114%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=195575201&rft_id=info:pmid/&rft_ieee_id=1702693&rfr_iscdi=true |