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...
Gespeichert in:
Veröffentlicht in: | Automated software engineering 2004-04, Vol.11 (2), p.101-139 |
---|---|
Hauptverfasser: | , |
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 & Engineering Collection</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & 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 & Aerospace Database</collection><collection>ProQuest Advanced Technologies & 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 |