Inductively Verifying Invariant Properties of Parameterized Systems

Verification of distributed algorithms can be naturally cast as verifying parameterized systems, the parameter being the number of processes. In general, a parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chai...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Automated software engineering 2004-04, Vol.11 (2), p.101-139
Hauptverfasser: Roychoudhury, Abhik, Ramakrishnan, I.V.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 139
container_issue 2
container_start_page 101
container_title Automated software engineering
container_volume 11
creator Roychoudhury, Abhik
Ramakrishnan, I.V.
description Verification of distributed algorithms can be naturally cast as verifying parameterized systems, the parameter being the number of processes. In general, a parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chains, trees. It is therefore natural to verify parameterized systems by inducting over this type. However, construction of such proofs require combination of model checking with deductive capability. In this paper, we develop a logic program transformation based proof methodology which achieves this combination. One of our transformations (unfolding) represents a single resolution step. Thus model checking can be achieved by repeated application of unfolding. Other transformations (such as folding) represent deductive reasoning and help recognize the induction hypothesis in an inductive proof. Moreover the unfolding and folding transformations can be arbitrarily interleaved in a proof, resulting in a tight integration of decision procedures (such as model checking) with deductive verification.Based on this technique, we have designed and implemented an invariant prover for parameterized systems. Our proof technique is geared to automate nested induction proofs which do not involve strengthening of induction hypothesis. The prover has been used to automatically verify invariant properties of parameterized cache coherence protocols, including broadcast protocols and protocols with global conditions. Furthermore, we have employed the prover for automatic verification of mutual exclusion in the Java Meta-Locking Algorithm. Meta-Locking is a distributed algorithm developed recently by designers in Sun Microsystems for ensuring secure access of Java objects by an arbitrary number of Java threads.
doi_str_mv 10.1023/B:AUSE.0000017740.35552.88
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_28261746</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>28261746</sourcerecordid><originalsourceid>FETCH-LOGICAL-c235t-7db9bcf4d023258b8d2640680e67d39883ec7b2ed0cbed9683e7f7bb3e9ac0f03</originalsourceid><addsrcrecordid>eNpdkNFKwzAUQIMoOKf_UBR8a02Tpkn2to2pg4GDOV9DmtxKR9fOpB3UrzdTQfC-XC4cLoeD0G2KkxQT-jCbTLebRYJPk3Ke4YQyxkgixBkapYzTmDPKztEISyJiIVN8ia683wVc5lKO0HzZ2N501RHqIXoDV5VD1bxHy-aoXaWbLlq79gCuq8BHbRmttdN76AL3CTbaDL6Dvb9GF6WuPdz87jHaPi5e58_x6uVpOZ-uYkMo62JuC1mYMrNBnDBRCEvyDOcCQ84tlUJQMLwgYLEpwMo83LzkRUFBaoNLTMfo_ufvwbUfPfhO7StvoK51A23vFREkT3mWB_DuH7hre9cEN0VkKggmUtJATX4o41rvHZTq4Kq9doNKsTrVVTN1qqv-6qrvuiqofgHA427Z</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2918202993</pqid></control><display><type>article</type><title>Inductively Verifying Invariant Properties of Parameterized Systems</title><source>SpringerLink Journals</source><source>ProQuest Central UK/Ireland</source><source>ProQuest Central</source><creator>Roychoudhury, Abhik ; Ramakrishnan, I.V.</creator><creatorcontrib>Roychoudhury, Abhik ; Ramakrishnan, I.V.</creatorcontrib><description>Verification of distributed algorithms can be naturally cast as verifying parameterized systems, the parameter being the number of processes. In general, a parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chains, trees. It is therefore natural to verify parameterized systems by inducting over this type. However, construction of such proofs require combination of model checking with deductive capability. In this paper, we develop a logic program transformation based proof methodology which achieves this combination. One of our transformations (unfolding) represents a single resolution step. Thus model checking can be achieved by repeated application of unfolding. Other transformations (such as folding) represent deductive reasoning and help recognize the induction hypothesis in an inductive proof. Moreover the unfolding and folding transformations can be arbitrarily interleaved in a proof, resulting in a tight integration of decision procedures (such as model checking) with deductive verification.Based on this technique, we have designed and implemented an invariant prover for parameterized systems. Our proof technique is geared to automate nested induction proofs which do not involve strengthening of induction hypothesis. The prover has been used to automatically verify invariant properties of parameterized cache coherence protocols, including broadcast protocols and protocols with global conditions. Furthermore, we have employed the prover for automatic verification of mutual exclusion in the Java Meta-Locking Algorithm. Meta-Locking is a distributed algorithm developed recently by designers in Sun Microsystems for ensuring secure access of Java objects by an arbitrary number of Java threads.</description><identifier>ISSN: 0928-8910</identifier><identifier>EISSN: 1573-7535</identifier><identifier>DOI: 10.1023/B:AUSE.0000017740.35552.88</identifier><language>eng</language><publisher>Dordrecht: Springer Nature B.V</publisher><subject>Algorithms ; Folding ; Hypotheses ; Invariants ; Locking ; Logic programs ; Parameterization ; Transformations ; Verification</subject><ispartof>Automated software engineering, 2004-04, Vol.11 (2), p.101-139</ispartof><rights>Kluwer Academic Publishers 2004.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c235t-7db9bcf4d023258b8d2640680e67d39883ec7b2ed0cbed9683e7f7bb3e9ac0f03</citedby></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.proquest.com/docview/2918202993?pq-origsite=primo$$EHTML$$P50$$Gproquest$$H</linktohtml><link.rule.ids>314,780,784,21388,27924,27925,33744,33745,43805,64385,64387,64389,72469</link.rule.ids></links><search><creatorcontrib>Roychoudhury, Abhik</creatorcontrib><creatorcontrib>Ramakrishnan, I.V.</creatorcontrib><title>Inductively Verifying Invariant Properties of Parameterized Systems</title><title>Automated software engineering</title><description>Verification of distributed algorithms can be naturally cast as verifying parameterized systems, the parameter being the number of processes. In general, a parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chains, trees. It is therefore natural to verify parameterized systems by inducting over this type. However, construction of such proofs require combination of model checking with deductive capability. In this paper, we develop a logic program transformation based proof methodology which achieves this combination. One of our transformations (unfolding) represents a single resolution step. Thus model checking can be achieved by repeated application of unfolding. Other transformations (such as folding) represent deductive reasoning and help recognize the induction hypothesis in an inductive proof. Moreover the unfolding and folding transformations can be arbitrarily interleaved in a proof, resulting in a tight integration of decision procedures (such as model checking) with deductive verification.Based on this technique, we have designed and implemented an invariant prover for parameterized systems. Our proof technique is geared to automate nested induction proofs which do not involve strengthening of induction hypothesis. The prover has been used to automatically verify invariant properties of parameterized cache coherence protocols, including broadcast protocols and protocols with global conditions. Furthermore, we have employed the prover for automatic verification of mutual exclusion in the Java Meta-Locking Algorithm. Meta-Locking is a distributed algorithm developed recently by designers in Sun Microsystems for ensuring secure access of Java objects by an arbitrary number of Java threads.</description><subject>Algorithms</subject><subject>Folding</subject><subject>Hypotheses</subject><subject>Invariants</subject><subject>Locking</subject><subject>Logic programs</subject><subject>Parameterization</subject><subject>Transformations</subject><subject>Verification</subject><issn>0928-8910</issn><issn>1573-7535</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2004</creationdate><recordtype>article</recordtype><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><recordid>eNpdkNFKwzAUQIMoOKf_UBR8a02Tpkn2to2pg4GDOV9DmtxKR9fOpB3UrzdTQfC-XC4cLoeD0G2KkxQT-jCbTLebRYJPk3Ke4YQyxkgixBkapYzTmDPKztEISyJiIVN8ia683wVc5lKO0HzZ2N501RHqIXoDV5VD1bxHy-aoXaWbLlq79gCuq8BHbRmttdN76AL3CTbaDL6Dvb9GF6WuPdz87jHaPi5e58_x6uVpOZ-uYkMo62JuC1mYMrNBnDBRCEvyDOcCQ84tlUJQMLwgYLEpwMo83LzkRUFBaoNLTMfo_ufvwbUfPfhO7StvoK51A23vFREkT3mWB_DuH7hre9cEN0VkKggmUtJATX4o41rvHZTq4Kq9doNKsTrVVTN1qqv-6qrvuiqofgHA427Z</recordid><startdate>20040401</startdate><enddate>20040401</enddate><creator>Roychoudhury, Abhik</creator><creator>Ramakrishnan, I.V.</creator><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</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>M7S</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PTHSS</scope><scope>7SC</scope><scope>8FD</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20040401</creationdate><title>Inductively Verifying Invariant Properties of Parameterized Systems</title><author>Roychoudhury, Abhik ; Ramakrishnan, I.V.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c235t-7db9bcf4d023258b8d2640680e67d39883ec7b2ed0cbed9683e7f7bb3e9ac0f03</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2004</creationdate><topic>Algorithms</topic><topic>Folding</topic><topic>Hypotheses</topic><topic>Invariants</topic><topic>Locking</topic><topic>Logic programs</topic><topic>Parameterization</topic><topic>Transformations</topic><topic>Verification</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Roychoudhury, Abhik</creatorcontrib><creatorcontrib>Ramakrishnan, I.V.</creatorcontrib><collection>CrossRef</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</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>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>Engineering Collection</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology 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>Automated software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Roychoudhury, Abhik</au><au>Ramakrishnan, I.V.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Inductively Verifying Invariant Properties of Parameterized Systems</atitle><jtitle>Automated software engineering</jtitle><date>2004-04-01</date><risdate>2004</risdate><volume>11</volume><issue>2</issue><spage>101</spage><epage>139</epage><pages>101-139</pages><issn>0928-8910</issn><eissn>1573-7535</eissn><abstract>Verification of distributed algorithms can be naturally cast as verifying parameterized systems, the parameter being the number of processes. In general, a parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chains, trees. It is therefore natural to verify parameterized systems by inducting over this type. However, construction of such proofs require combination of model checking with deductive capability. In this paper, we develop a logic program transformation based proof methodology which achieves this combination. One of our transformations (unfolding) represents a single resolution step. Thus model checking can be achieved by repeated application of unfolding. Other transformations (such as folding) represent deductive reasoning and help recognize the induction hypothesis in an inductive proof. Moreover the unfolding and folding transformations can be arbitrarily interleaved in a proof, resulting in a tight integration of decision procedures (such as model checking) with deductive verification.Based on this technique, we have designed and implemented an invariant prover for parameterized systems. Our proof technique is geared to automate nested induction proofs which do not involve strengthening of induction hypothesis. The prover has been used to automatically verify invariant properties of parameterized cache coherence protocols, including broadcast protocols and protocols with global conditions. Furthermore, we have employed the prover for automatic verification of mutual exclusion in the Java Meta-Locking Algorithm. Meta-Locking is a distributed algorithm developed recently by designers in Sun Microsystems for ensuring secure access of Java objects by an arbitrary number of Java threads.</abstract><cop>Dordrecht</cop><pub>Springer Nature B.V</pub><doi>10.1023/B:AUSE.0000017740.35552.88</doi><tpages>39</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0928-8910
ispartof Automated software engineering, 2004-04, Vol.11 (2), p.101-139
issn 0928-8910
1573-7535
language eng
recordid cdi_proquest_miscellaneous_28261746
source SpringerLink Journals; ProQuest Central UK/Ireland; ProQuest Central
subjects Algorithms
Folding
Hypotheses
Invariants
Locking
Logic programs
Parameterization
Transformations
Verification
title Inductively Verifying Invariant Properties of Parameterized Systems
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-29T04%3A56%3A57IST&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=Inductively%20Verifying%20Invariant%20Properties%20of%20Parameterized%20Systems&rft.jtitle=Automated%20software%20engineering&rft.au=Roychoudhury,%20Abhik&rft.date=2004-04-01&rft.volume=11&rft.issue=2&rft.spage=101&rft.epage=139&rft.pages=101-139&rft.issn=0928-8910&rft.eissn=1573-7535&rft_id=info:doi/10.1023/B:AUSE.0000017740.35552.88&rft_dat=%3Cproquest_cross%3E28261746%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=2918202993&rft_id=info:pmid/&rfr_iscdi=true