CIVL the concurrency intermediate verification language
There are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, and CUDA, are but a few. This multitude creates a serious challenge for developers of software verification tools: it takes enormous effort to develo...
Uloženo v:
| Abstract | There are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, and CUDA, are but a few. This multitude creates a serious challenge for developers of software verification tools: it takes enormous effort to develop such tools, but each development effort typically targets one small part of the concurrency landscape, with little sharing of techniques and code among efforts.
To address this problem, we present CIVL: the Concurrency Intermediate Verification Language. CIVL provides a general concurrency model capable of representing programs in a variety of concurrency dialects, including those listed above. The CIVL framework currently includes front-ends for the four dialects, and a back-end verifier which uses model checking and symbolic execution to check a number of properties, including the absence of deadlocks, race conditions, assertion violations, illegal pointer dereferences and arithmetic, memory leaks, divisions by zero, and out-of-bound array indexing; it can also check that two programs are functionally equivalent. |
|---|---|
| AbstractList | There are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, and CUDA, are but a few. This multitude creates a serious challenge for developers of software verification tools: it takes enormous effort to develop such tools, but each development effort typically targets one small part of the concurrency landscape, with little sharing of techniques and code among efforts. To address this problem, we present CIVL: the Concurrency Intermediate Verification Language. CIVL provides a general concurrency model capable of representing programs in a variety of concurrency dialects, including those listed above. The CIVL framework currently includes front-ends for the four dialects, and a back-end verifier which uses model checking and symbolic execution to check a number of properties, including the absence of deadlocks, race conditions, assertion violations, illegal pointer dereferences and arithmetic, memory leaks, divisions by zero, and out-of-bound array indexing; it can also check that two programs are functionally equivalent. There are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, and CUDA, are but a few. This multitude creates a serious challenge for developers of software verification tools: it takes enormous effort to develop such tools, but each development effort typically targets one small part of the concurrency landscape, with little sharing of techniques and code among efforts. To address this problem, we present CIVL: the Concurrency Intermediate Verification Language. CIVL provides a general concurrency model capable of representing programs in a variety of concurrency dialects, including those listed above. The CIVL framework currently includes front-ends for the four dialects, and a back-end verifier which uses model checking and symbolic execution to check a number of properties, including the absence of deadlocks, race conditions, assertion violations, illegal pointer dereferences and arithmetic, memory leaks, divisions by zero, and out-of-bound array indexing; it can also check that two programs are functionally equivalent. |
| Author | Zheng, Manchun Dwyer, Matthew B. Luo, Ziqing Marianiello, Andre V. Edenhofner, John G. Siegel, Stephen F. Rogers, Michael S. Zirkel, Timothy K. |
| Author_xml | – sequence: 1 givenname: Stephen F. surname: Siegel fullname: Siegel, Stephen F. email: siegel@udel.edu organization: University of Delaware – sequence: 2 givenname: Manchun surname: Zheng fullname: Zheng, Manchun email: zmanchun@udel.edu organization: University of Delaware – sequence: 3 givenname: Ziqing surname: Luo fullname: Luo, Ziqing email: ziqing@udel.edu organization: University of Delaware – sequence: 4 givenname: Timothy K. surname: Zirkel fullname: Zirkel, Timothy K. email: zirkeltk@udel.edu organization: University of Delaware – sequence: 5 givenname: Andre V. surname: Marianiello fullname: Marianiello, Andre V. email: andrevm@udel.edu organization: University of Delaware – sequence: 6 givenname: John G. surname: Edenhofner fullname: Edenhofner, John G. email: johneden@udel.edu organization: University of Delaware – sequence: 7 givenname: Matthew B. surname: Dwyer fullname: Dwyer, Matthew B. email: dwyer@cse.unl.edu organization: University of Nebraska, Lincoln – sequence: 8 givenname: Michael S. surname: Rogers fullname: Rogers, Michael S. email: mrogers@cse.unl.edu organization: University of Nebraska, Lincoln |
| BookMark | eNqNj7tOw0AQRRcIEklITcEP0NjM7OzDWyKLRyRLNAntaneZlQwkRjYNf49DXFBSXc0c3SudhZjtuz0LcYVQIip9Kyuw2mF5SEP6RCzGLxBZSeZUzCUaW6jxPPsLLsRqGN4AAJ1xiGYuZvX6pbkU5zl8DLyacim2D_eb-qlonh_X9V1TBKnsV0FBkUEZc0gqhYAucGJL2iauHEjU0eYEoF3mZHWCaAOyi_iqYpbEmZbi-rjbMrP_7Ntd6L-9rUhWpEdaHmlIOx-77n3wCP4g6ydZP8n62Le_czf_LNAPwb5PTA |
| ContentType | Conference Proceeding |
| Copyright | 2015 ACM |
| Copyright_xml | – notice: 2015 ACM |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1145/2807591.2807635 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Xplore POP ALL IEEE Xplore All Conference Proceedings IEEE/IET Electronic Library (IEL) (UW System Shared) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science Government |
| EISBN | 1450337236 9781450337236 |
| EISSN | 2167-4337 |
| EndPage | 12 |
| ExternalDocumentID | 7832835 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IF 6IK 6IL 6IN AAJGR ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI IEGSK IERZE OCL RIB RIC RIE RIL 6IH AAWTH ABLEC ADZIZ CHZPO IPLJI |
| ID | FETCH-LOGICAL-a247t-3a43612bfac4caa19aece7357ce890215b7fc0059fec75c0b7a1e9b1d4bf23ef3 |
| IEDL.DBID | RIE |
| ISBN | 1450337236 9781450337236 |
| ISICitedReferencesCount | 49 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000382162500062&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 02:01:31 EDT 2025 Wed Jan 31 06:51:32 EST 2024 Wed Jan 31 06:51:02 EST 2024 |
| IsPeerReviewed | false |
| IsScholarly | false |
| Keywords | CUDA intermediate representation model checking OpenMP MPI symbolic execution program transformation pthreads parallel programming verification concurrency |
| Language | English |
| License | Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org |
| LinkModel | DirectLink |
| MeetingName | SC15: The International Conference for High Performance Computing, Networking, Storage and Analysis |
| MergedId | FETCHMERGED-LOGICAL-a247t-3a43612bfac4caa19aece7357ce890215b7fc0059fec75c0b7a1e9b1d4bf23ef3 |
| PageCount | 12 |
| ParticipantIDs | acm_books_10_1145_2807591_2807635_brief acm_books_10_1145_2807591_2807635 ieee_primary_7832835 |
| PublicationCentury | 2000 |
| PublicationDate | 20151115 2015-November |
| PublicationDateYYYYMMDD | 2015-11-15 2015-11-01 |
| PublicationDate_xml | – month: 11 year: 2015 text: 20151115 day: 15 |
| PublicationDecade | 2010 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationSeriesTitle | ACM Conferences |
| PublicationTitle | Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis |
| PublicationTitleAbbrev | SC |
| PublicationYear | 2015 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| SSID | ssj0001969116 ssj0003204180 |
| Score | 1.8473095 |
| Snippet | There are many ways to express parallel programs: message-passing libraries (MPI) and multithreading/GPU language extensions such as OpenMP, Pthreads, and... |
| SourceID | ieee acm |
| SourceType | Publisher |
| StartPage | 1 |
| SubjectTerms | Computing methodologies -- Symbolic and algebraic manipulation Concurrent computing Government Graphics processing units Hardware -- Hardware validation -- Functional verification -- Assertion checking Libraries Message systems Model checking Software and its engineering -- Software creation and management -- Software verification and validation Software and its engineering -- Software creation and management -- Software verification and validation -- Formal software verification Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Concurrent programming languages Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Distributed programming languages Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Parallel programming languages Software and its engineering -- Software organization and properties -- Software functional properties -- Formal methods Software and its engineering -- Software organization and properties -- Software functional properties -- Formal methods -- Model checking Theory of computation -- Logic -- Verification by model checking Theory of computation -- Models of computation -- Abstract machines Theory of computation -- Semantics and reasoning -- Program reasoning -- Abstraction Theory of computation -- Semantics and reasoning -- Program reasoning -- Assertions |
| Subtitle | the concurrency intermediate verification language |
| Title | CIVL |
| URI | https://ieeexplore.ieee.org/document/7832835 |
| WOSCitedRecordID | wos000382162500062&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3Pa8IwFH6o7ODJTR1zv-hgsMs6-yNp2l1lsoGIh028leT5Ah6mo-pg__2StCqDwdipackhfE3Iey_5vg_gllCRDrLIRxmQzzQXvuKk_HkqMckUjwLnQzYdifE4nc2ySQ3u91wYInKXz-jBNt1Z_nyFW1sq6wsz_UzEUIe6EEnJ1TrUU7LErNtk_x5HAQvToFLzCRnvW90Xnpmc0DwTa-9Wl_j-w1TF7SnD1v9GcwzdAznPm-y3nROo0bINrZ07g1ct1jY0Dza6HUgHL9PRo2eiPc8kwOhEmfDLs2IRhSOPbMgzve29IfervF0dswtvw6fXwbNfmSb4MmJi48eSxSZqUVoiQynDTBKSiLlAskeKIVdCo6WcakLBMVBChpSpcM6UjmLS8Sk0lqslnYEntRKhUiYmiBULMJVRIpOMWeNwiRSzHtwYBHObDazzkuDM8wrlvEK5B3d_9slVsSDdg47FOP8oVTbyCt7z3z9fQNOELrxkBV5CY1Ns6QqO8HOzWBfXbmp8Azg0tJY |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NawIxEB3UFurJVi21n1so9NKt-5FsdnuVilIrHqx4W5JxAh6qxY9C_32TdVUKhdLTZpccwtuEzEzy3gO4I1SkvSRwUXrkMs2FqzgpdxJLjBLFAy_zIRv1RL8fj8fJoAAPOy4MEWWXz-jRNrOz_Mkc17ZU1hRm-pmIoQgH1jkrZ2vtKypJZFZutHsPA4_5sZfr-fiMN63yC09MVmiekTV4K0p8_2Grku0q7cr_xnMM9T09zxnsNp4TKNCsCpWtP4OTL9cqlPdGujWIW91R78kx8Z5jUmDMZJnwy7FyEYuMPrIix_S2N4eyn-VsK5l1eGs_D1sdN7dNcGXAxMoNJQtN3KK0RIZS-okkJBFygWQPFX2uhEZLOtWEgqOnhPQpUf6EKR2EpMNTKM3mMzoDR2olfKVMVBAq5mEsg0hGCbPW4RIpZA24NQimNh9YphuKM09zlNMc5Qbc_9knVYsp6QbULMbpx0ZnI83hPf_98w0cdYavvbTX7b9cQNkEMnzDEbyE0mqxpis4xM_VdLm4zqbJN9PJt98 |
| 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%3Abook&rft.genre=proceeding&rft.title=Proceedings+of+the+International+Conference+for+High+Performance+Computing%2C+Networking%2C+Storage+and+Analysis&rft.atitle=CIVL&rft.au=Siegel%2C+Stephen+F.&rft.au=Zheng%2C+Manchun&rft.au=Luo%2C+Ziqing&rft.au=Zirkel%2C+Timothy+K.&rft.series=ACM+Conferences&rft.date=2015-11-15&rft.pub=ACM&rft.isbn=1450337236&rft.spage=1&rft.epage=12&rft_id=info:doi/10.1145%2F2807591.2807635 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450337236/lc.gif&client=summon&freeimage=true |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450337236/mc.gif&client=summon&freeimage=true |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450337236/sc.gif&client=summon&freeimage=true |

