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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 1980-01, Vol.SE-6 (1), p.40-48
1. Verfasser: Tamir, M.
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 &amp; 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 &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>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 &amp; 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 &amp; 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 &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; 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 &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; 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