Bottom-up shape analysis using LISF
In this article, we present a new shape analysis algorithm. The key distinguishing aspect of our algorithm is that it is completely compositional, bottom-up and noniterative. We present our algorithm as an inference system for computing Hoare triples summarizing heap manipulating programs. Our infer...
Saved in:
| Published in | ACM transactions on programming languages and systems Vol. 33; no. 5; pp. 1 - 41 |
|---|---|
| Main Authors | , , , |
| Format | Journal Article |
| Language | English |
| Published |
New York, NY
Association for Computing Machinery
01.11.2011
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 0164-0925 1558-4593 1558-4593 |
| DOI | 10.1145/2039346.2039349 |
Cover
| Abstract | In this article, we present a new shape analysis algorithm. The key distinguishing aspect of our algorithm is that it is completely compositional, bottom-up and noniterative. We present our algorithm as an inference system for computing Hoare triples summarizing heap manipulating programs. Our inference rules are compositional: Hoare triples for a compound statement are computed from the Hoare triples of its component statements. These inference rules are used as the basis for bottom-up shape analysis of programs.
Specifically, we present a Logic of Iterated Separation Formulae (LISF), which uses the iterated separating conjunct of Reynolds [2002] to represent program states. A key ingredient of our inference rules is a strong bi-abduction operation between two logical formulas. We describe sound strong bi-abduction and satisfiability procedures for LISF.
We have built a tool called S p I n E that implements these inference rules and have evaluated it on standard shape analysis benchmark programs. Our experiments show that S p I n E can generate expressive summaries, which are complete functional specifications in many cases. |
|---|---|
| AbstractList | In this article, we present a new shape analysis algorithm. The key distinguishing aspect of our algorithm is that it is completely compositional, bottom-up and noniterative. We present our algorithm as an inference system for computing Hoare triples summarizing heap manipulating programs. Our inference rules are compositional: Hoare triples for a compound statement are computed from the Hoare triples of its component statements. These inference rules are used as the basis for bottom-up shape analysis of programs. In this article, we present a new shape analysis algorithm. The key distinguishing aspect of our algorithm is that it is completely compositional, bottom-up and noniterative. We present our algorithm as an inference system for computing Hoare triples summarizing heap manipulating programs. Our inference rules are compositional: Hoare triples for a compound statement are computed from the Hoare triples of its component statements. These inference rules are used as the basis for bottom-up shape analysis of programs. Specifically, we present a Logic of Iterated Separation Formulae (LISF), which uses the iterated separating conjunct of Reynolds [2002] to represent program states. A key ingredient of our inference rules is a strong bi-abduction operation between two logical formulas. We describe sound strong bi-abduction and satisfiability procedures for LISF. We have built a tool called S p I n E that implements these inference rules and have evaluated it on standard shape analysis benchmark programs. Our experiments show that S p I n E can generate expressive summaries, which are complete functional specifications in many cases. |
| Author | Gulavani, Bhargav S. Nori, Aditya V. Ramalingam, G. Chakraborty, Supratik |
| Author_xml | – sequence: 1 givenname: Bhargav S. surname: Gulavani fullname: Gulavani, Bhargav S. organization: IIT Bombay, India – sequence: 2 givenname: Supratik surname: Chakraborty fullname: Chakraborty, Supratik organization: IIT Bombay, India – sequence: 3 givenname: G. surname: Ramalingam fullname: Ramalingam, G. organization: Microsoft Research India, Bangalore, India – sequence: 4 givenname: Aditya V. surname: Nori fullname: Nori, Aditya V. organization: Microsoft Research India, Bangalore, India |
| BackLink | http://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=25298577$$DView record in Pascal Francis |
| BookMark | eNqNj89Lw0AQhRepYK2evQZE8JJ29sdsskctVgsFD-o5TDeJrmyTmE2Q_vdGUjwIgqd3-b43807ZpKqrgrELDnPOFS4ESCOVno9pjtiUI6axQiMnbApcqxiMwBN2GsI7APAU0ym7vK27rt7FfROFN2qKiCry--BC1AdXvUab9dPqjB2X5ENxfsgZe1ndPS8f4s3j_Xp5s4mtVNjFZQIiUUmeCw05B60LsMBBcC1zUFsUW4WaMKWSl4aMhkQSos31lvJcpULOGIy9fdXQ_pO8z5rW7ajdZxyy75HZYeQhzaBcj0rT1h99Ebps54ItvKeqqPuQcQQ98KjkgF4dUAqWfNlSZV34uSBQmBSTZOAWI2fbOoS2KP_xBP4yrOuoc3XVteT8n94Xlgl9Og |
| CODEN | ATPSDT |
| CitedBy_id | crossref_primary_10_1145_2666356_2594328 crossref_primary_10_1016_j_jlamp_2018_02_001 crossref_primary_10_1145_3022671_2984023 |
| Cites_doi | 10.1007/11562948_35 10.5555/647851.737404 10.1007/11690634_7 10.1145/1040305.1040330 10.1007/978-3-540-31980-1_2 10.1007/11823230_5 10.1145/1250734.1250764 10.1145/378795.378851 10.1007/11547662_20 10.5555/645683.664578 10.1007/978-3-540-31987-0_17 10.1007/978-3-540-70545-1_33 10.1145/1480881.1480917 10.1007/978-3-540-70545-1_31 10.1007/11691372_19 10.1016/S1571-0661(04)00187-2 10.1145/514188.514190 |
| ContentType | Journal Article |
| Copyright | 2015 INIST-CNRS |
| Copyright_xml | – notice: 2015 INIST-CNRS |
| DBID | AAYXX CITATION IQODW 7SC 8FD JQ2 L7M L~C L~D ADTOC UNPAY |
| DOI | 10.1145/2039346.2039349 |
| DatabaseName | CrossRef Pascal-Francis Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Unpaywall for CDI: Periodical Content Unpaywall |
| DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts CrossRef |
| Database_xml | – sequence: 1 dbid: UNPAY name: Unpaywall url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/ sourceTypes: Open Access Repository |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science Applied Sciences |
| EISSN | 1558-4593 |
| EndPage | 41 |
| ExternalDocumentID | 10.1145/2039346.2039349 25298577 10_1145_2039346_2039349 |
| GroupedDBID | --Z -DZ -~X .4S .DC 23M 2FS 4.4 5GY 5VS 6J9 8US 8VB 9M8 AAKMM AALFJ AAYFX AAYXX ABFSI ABPPZ ACGFO ACGOD ACM ADBCU ADL ADMHC ADMLS AEBYY AEFXT AEJOY AENEX AENSD AETEA AFFNX AFWIH AFWXC AHQJS AI. AIAGR AIKLT AKRVB AKVCP ALMA_UNASSIGNED_HOLDINGS ARCSS ASPBG AVWKF BDXCO CCLIF CITATION CS3 D0L E.L EBS EBU EDO EJD FEDTE GUFHI HF~ HGAVV H~9 I07 IAO ICD IEA IGS IOF ITC K1G LHSKQ MK~ ML~ MVM NHB OHT P1C P2P PQQKQ QWB RNS ROL RXW TAE TAF TH9 TUS TWZ UHB UKR UPT VH1 X6Y XJT XOL XSW YYP ZCA ZCG ZL0 ZY4 IQODW 7SC 8FD JQ2 L7M L~C L~D ADTOC UNPAY |
| ID | FETCH-LOGICAL-c345t-f702747dd260d1066e0c0102163d04b52b456a58af1f9a96073a55cd6badd4823 |
| IEDL.DBID | UNPAY |
| ISSN | 0164-0925 1558-4593 |
| IngestDate | Tue Aug 19 22:13:43 EDT 2025 Fri Jul 11 09:19:15 EDT 2025 Mon Jul 21 09:12:54 EDT 2025 Wed Oct 01 05:46:37 EDT 2025 Thu Apr 24 23:12:22 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5 |
| Keywords | Theory Abstract Inference Verification Program analysis Program verification Stack Algorithms Compositional analysis Boolean logic separation logic Abduction Morphological analysis Bottom up method Compositionality Inference rule Algorithm analysis Satisfiability Hoare logic |
| Language | English |
| License | CC BY 4.0 |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c345t-f702747dd260d1066e0c0102163d04b52b456a58af1f9a96073a55cd6badd4823 |
| Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
| OpenAccessLink | https://proxy.k.utb.cz/login?url=https://dl.acm.org/doi/pdf/10.1145/2039346.2039349 |
| PQID | 1506346543 |
| PQPubID | 23500 |
| PageCount | 41 |
| ParticipantIDs | unpaywall_primary_10_1145_2039346_2039349 proquest_miscellaneous_1506346543 pascalfrancis_primary_25298577 crossref_primary_10_1145_2039346_2039349 crossref_citationtrail_10_1145_2039346_2039349 |
| ProviderPackageCode | CITATION AAYXX |
| PublicationCentury | 2000 |
| PublicationDate | 2011-11-01 |
| PublicationDateYYYYMMDD | 2011-11-01 |
| PublicationDate_xml | – month: 11 year: 2011 text: 2011-11-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationPlace | New York, NY |
| PublicationPlace_xml | – name: New York, NY |
| PublicationTitle | ACM transactions on programming languages and systems |
| PublicationYear | 2011 |
| Publisher | Association for Computing Machinery |
| Publisher_xml | – name: Association for Computing Machinery |
| References | Jeannet B. (e_1_2_1_16_1) Abdulla P. A. (e_1_2_1_2_1) e_1_2_1_20_1 Berdine J. (e_1_2_1_4_1) e_1_2_1_23_1 e_1_2_1_21_1 e_1_2_1_22_1 e_1_2_1_27_1 e_1_2_1_25_1 e_1_2_1_26_1 Boigelot B. (e_1_2_1_6_1) Cousot P. (e_1_2_1_12_1) 1990; 15 Bouajjani A. (e_1_2_1_9_1) e_1_2_1_7_1 e_1_2_1_8_1 e_1_2_1_5_1 e_1_2_1_3_1 e_1_2_1_13_1 e_1_2_1_1_1 e_1_2_1_10_1 Calcagno C. (e_1_2_1_11_1) e_1_2_1_17_1 Rinetzky N. (e_1_2_1_24_1); 2027 e_1_2_1_14_1 e_1_2_1_15_1 e_1_2_1_18_1 e_1_2_1_19_1 |
| References_xml | – ident: e_1_2_1_3_1 doi: 10.1007/11562948_35 – volume-title: Proceedings of the International Conference on Computer Aided Verification (CAV). Springer, 372--386 ident: e_1_2_1_9_1 – ident: e_1_2_1_19_1 doi: 10.5555/647851.737404 – ident: e_1_2_1_27_1 doi: 10.1007/11690634_7 – ident: e_1_2_1_22_1 doi: 10.1145/1040305.1040330 – ident: e_1_2_1_7_1 doi: 10.1007/978-3-540-31980-1_2 – ident: e_1_2_1_8_1 doi: 10.1007/11823230_5 – volume-title: Proceedings of the International Symposium on Static Analysis (SAS). 402--418 ident: e_1_2_1_11_1 – ident: e_1_2_1_15_1 doi: 10.1145/1250734.1250764 – ident: e_1_2_1_18_1 doi: 10.1145/378795.378851 – ident: e_1_2_1_14_1 – ident: e_1_2_1_23_1 doi: 10.1007/11547662_20 – ident: e_1_2_1_17_1 – volume: 2027 volume-title: Proceedings of the Conference on Computer Construction (CC). Lecture Notes in Computer Science ident: e_1_2_1_24_1 – ident: e_1_2_1_21_1 doi: 10.5555/645683.664578 – volume-title: Proceedings of the International Conference on Concurrency Theory (CONCUR). Springer, 35--48 ident: e_1_2_1_2_1 – volume-title: Proceedings of the International Conference on Computer Aided Verification (CAV). Springer, 223--235 ident: e_1_2_1_6_1 – ident: e_1_2_1_5_1 doi: 10.1007/978-3-540-31987-0_17 – volume: 15 start-page: 843 year: 1990 ident: e_1_2_1_12_1 article-title: Methods and logics for proving programs. In Formal Models and Semantics, J. van Leeuwen, Ed., Handbook of Theoretical Computer Science, vol. B. Elsevier Science Publishers B.V publication-title: Chapter – ident: e_1_2_1_1_1 doi: 10.1007/978-3-540-70545-1_33 – ident: e_1_2_1_10_1 doi: 10.1145/1480881.1480917 – volume-title: Proceedings of the International Conference on Computer Aided Verification (CAV). 178--192 ident: e_1_2_1_4_1 – volume-title: Proceedings of the International Symposium on Static Analysis (SAS). 246--264 ident: e_1_2_1_16_1 – ident: e_1_2_1_20_1 doi: 10.1007/978-3-540-70545-1_31 – ident: e_1_2_1_13_1 doi: 10.1007/11691372_19 – ident: e_1_2_1_26_1 doi: 10.1016/S1571-0661(04)00187-2 – ident: e_1_2_1_25_1 doi: 10.1145/514188.514190 |
| SSID | ssj0001858 |
| Score | 1.9979393 |
| Snippet | In this article, we present a new shape analysis algorithm. The key distinguishing aspect of our algorithm is that it is completely compositional, bottom-up... |
| SourceID | unpaywall proquest pascalfrancis crossref |
| SourceType | Open Access Repository Aggregation Database Index Database Enrichment Source |
| StartPage | 1 |
| SubjectTerms | Algorithms Applied sciences Computer science; control theory; systems Computer systems performance. Reliability Exact sciences and technology Language processing and microprogramming Software |
| Title | Bottom-up shape analysis using LISF |
| URI | https://www.proquest.com/docview/1506346543 https://dl.acm.org/doi/pdf/10.1145/2039346.2039349 |
| UnpaywallVersion | publishedVersion |
| Volume | 33 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVEBS databaseName: Inspec with Full Text customDbUrl: eissn: 1558-4593 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001858 issn: 0164-0925 databaseCode: ADMLS dateStart: 20090101 isFulltext: true titleUrlDefault: https://www.ebsco.com/products/research-databases/inspec-full-text providerName: EBSCOhost |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Rb9MwED6N9gGkiY7BRBlUQewBHlxlcZzEjx2s6lA7IZVK5SlyYnuTFtJoTYTg13N23IqiTdOe_HKx5bPv_F3s-w7gRCc854mOiGY0IGGsBBEJ94liWSIQ3svc8mzPLqPJIvy6ZMs9CDa5MLLAfn7aK3xj05XUjtCWYZhOOQ3NswLT8ifQjRji7w50F5ffRj9aEu-Q-NxWWsVzMiEh49Tx-dzRw85RtF-JNWpFt-UsdvDm06asxO9foij-OXrGvTYdcG0ZC82Lk5thU2fD_M9_fI6Pm9UBPHdI1Bu1W-cF7KnyEHqbKg-eM_qX8OFsVdfoSZvKW1-LSnnC8Zh45s38lTe9mI9fwWJ8_v3zhLjSCiSnIauJjm04KiWGMxKjwkj5ua3yHVHphxkLMgRWgiVCn2ouUMsxFYzlMsrQH4ZJQI-gU65K9Rq8TPkaQWBgmV_QvwqdS43uXEWaxbHWfRhutJzmjnfclL8o0jYnmqVOBa7lffi4_aBqKTfuFx3sLNtWPmABT3D4PrzfrGOKdmMuQ0SpVs06NcyK1JDJ0T582i7wQwO-eYTsMTyzP6Bt4uJb6NS3jXqHCKbOBtAdfZlN5wO3df8CXnzjMw |
| linkProvider | Unpaywall |
| linkToUnpaywall | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3BTtwwEB3BcigSYmkBEQooVXtoD16lcZzExy1iBahFldqV6ClyYptKhGzEJkLw9YwdZ9WtQIiTLxNbHnvGb2LPG4BPOuUFT3VMNKMhiRIliEh5QBTLU4HwXhaWZ_vHRXw6jc4v2eUKhH0ujCyxnxt7hW9supbaEdoyDNMpp5F5VmBavgprMUP8PYC16cXP8Z-OxDsiAbeVVvGcTEnEOHV8Pk_0sHQUbdRijlrRXTmLJbz5pq1qcX8nyvKfo2cy7NIB55ax0Lw4uR61TT4qHv7jc3zdrLZg0yFRf9xtnbewoqp3MOyrPPjO6Lfh47dZ06AnbWt__lfUyheOx8Q3b-av_O9nvyY7MJ2c_D4-Ja60AiloxBqiExuOSonhjMSoMFZBYat8x1QGUc7CHIGVYKnQXzUXqOWECsYKGefoD6M0pLswqGaV2gM_V4FGEBha5hf0r0IXUqM7V7FmSaK1B6Ney1nheMdN-Ysy63KiWeZU4FruwefFB3VHufG86NHSsi3kQxbyFIf34EO_jhnajbkMEZWatfPMMCtSQyZHPfiyWOCXBtx_hex7WLc_oG3i4gEMmttWHSKCafIjt2UfAUzG4Z8 |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Bottom-up+shape+analysis+using+LISF&rft.jtitle=ACM+transactions+on+programming+languages+and+systems&rft.au=Gulavani%2C+Bhargav&rft.au=Chakraborty%2C+Supratik&rft.au=Ramalingam%2C+G&rft.au=Nori%2C+Aditya&rft.date=2011-11-01&rft.issn=0164-0925&rft.eissn=1558-4593&rft.volume=33&rft.issue=5&rft.spage=1&rft.epage=41&rft_id=info:doi/10.1145%2F2039346.2039349&rft.externalDBID=NO_FULL_TEXT |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-0925&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-0925&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-0925&client=summon |