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

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis s. 1 - 12
Hlavní autori: Siegel, Stephen F., Zheng, Manchun, Luo, Ziqing, Zirkel, Timothy K., Marianiello, Andre V., Edenhofner, John G., Dwyer, Matthew B., Rogers, Michael S.
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: New York, NY, USA ACM 15.11.2015
Edícia:ACM Conferences
Predmet:
MPI
ISBN:1450337236, 9781450337236
ISSN:2167-4337
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
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
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/eLvHCXMwlV1NS8NAEB1a8dBTtSrWLyIIXoxNmv3Iei0WBREPKt7C7mQCPdhKmgr-e2fTtEUQxFOSZQ_h7ezuzOy-eQAXbDe8yKEJVY4UCilVaIdGhyJnX9u4tFB1auD1QT8-pm9v5qkFV2suDBHVl8_o2r_WZ_n5DBc-VTbQbH7sMbShrbVacrU2-RSjeN6q9XcyjEScRk01n1jIga_7Ig3HhPxUXt6tbfH9h6hKvaeMu__7mx3Y35Dzgqf1trMLLZr2oLtSZwiaydqDzkZGdw_S0f3rw03A3l7AATDWRZnwK_DFIsqaPFJRwL39vaF6qIJVHnMfXsa3z6O7sBFNYIyFrsLEioS9FldYFGhtbCwh6URqJH-kGEunC_SU04JQS4yctjEZF-fCFcOEiuQAtqazKR1CkA6R1yDHY6ec0EamRhPGTkmbCoyjvA_njGDmo4F5tiQ4y6xBOWtQ7sPln30yV06o6MOexzj7WFbZyBp4j35vPoYOuy5yyQo8ga2qXNApbONnNZmXZ7VpfAOESrLx
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3fS8MwED7cFPRpOifOnxUEX6xb16RpfB2K4hx70LG3klyvsAc3mZ3gf--l6zYEQXxqG_JQvlySu0u--wAu2W54kUPtRymSL6SMfNPRyhcp-9raxllUpAaGPdXvx6ORHmzA9YoLQ0TF5TO6ca_FWX46xblLlbUUmx97DBXYdMpZcsHWWmdUdMQzN1p9h522COJ2Wc8nELLlKr9IzVEhPyMn8FYx-PZDVqXYVe5r__ufXWis6XneYLXx7MEGTepQW-ozeOV0rcPOWkh3H-Lu47B367G_53EIjEVZJvzyXLmIWUEfycnj3u7mUDFY3jKT2YDX-7uX7oNfyiYwykLlfmhEyH6LzQwKNCbQhpBUKBWSO1QMpFUZOtJpRqgktq0yAWkbpMJmnZCy8ACqk-mEDsGLO8irkOXRi6xQWsZaEQY2kiYWGLTTJlwwgomLBz6SBcVZJiXKSYlyE67-7JPY2ZiyJuw7jJP3RZ2NpIT36Pfmc9h-eHnuJb3H_tMx7LAjIxccwROo5rM5ncIWfubjj9lZYSbfDby2PA
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