Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification

This technical note shows how we have combined prescriptive type checking and constraint solving to increase automation during software verification. We do so by defining a type system and implementing a typechecker for $\{log\}$ (read ‘setlog’), a Constraint Logic Programming language and satisfiab...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Theory and practice of logic programming Jg. 24; H. 5; S. 1011 - 1030
Hauptverfasser: CRISTIÁ, MAXIMILIANO, ROSSI, GIANFRANCO
Format: Journal Article
Sprache:Englisch
Veröffentlicht: 01.09.2024
ISSN:1471-0684, 1475-3081
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract This technical note shows how we have combined prescriptive type checking and constraint solving to increase automation during software verification. We do so by defining a type system and implementing a typechecker for $\{log\}$ (read ‘setlog’), a Constraint Logic Programming language and satisfiability solver based on set theory. The constraint solver is proved to be safe w.r.t. the type system. Two industrial-strength case studies are presented where this combination is used with very good results.
AbstractList This technical note shows how we have combined prescriptive type checking and constraint solving to increase automation during software verification. We do so by defining a type system and implementing a typechecker for $\{log\}$ (read ‘setlog’), a Constraint Logic Programming language and satisfiability solver based on set theory. The constraint solver is proved to be safe w.r.t. the type system. Two industrial-strength case studies are presented where this combination is used with very good results.
Author CRISTIÁ, MAXIMILIANO
ROSSI, GIANFRANCO
Author_xml – sequence: 1
  givenname: MAXIMILIANO
  orcidid: 0000-0001-9163-2609
  surname: CRISTIÁ
  fullname: CRISTIÁ, MAXIMILIANO
– sequence: 2
  givenname: GIANFRANCO
  surname: ROSSI
  fullname: ROSSI, GIANFRANCO
BookMark eNplkM1OwzAQhC1UJNrCA3DzCwR2YyeOj1XET6VKHFq4ochObDA0duWYor59G-DGaXbmW61WMyMTH7wh5BrhBgHF7Rq5QCgrnnMAyKE8I9NTVGQMKpz8zJiN_ILMhuEDAEuW8yl5rUOvnXf-jW4OO0Prd9N-jk75jq5NonXwQ4rK-UTXYbsfUQp02e9i2Bu6-EqhV8mcdoNN3yoa-mKis65VyQV_Sc6t2g7m6k_n5Pn-blM_Zqunh2W9WGXt6d2UGRBS81ZopaDjBqUsuZaqYEXLCyGVrEqr806ySgroTF4KnVuLrOsUWo2czQn-3m1jGIZobLOLrlfx0CA0Yz_Nv37YEa3QWuc
Cites_doi 10.19153/cleiej.21.2.3
10.1007/s10009-010-0145-y
10.1007/s10817-023-09666-2
10.1145/319301.319317
10.1017/CBO9780511624162
10.1007/978-3-319-07512-9_6
10.1007/978-3-540-89982-2_59
10.1145/1328408.1328418
10.1109/LICS.1991.151654
10.1017/CBO9781316576892
10.1007/978-3-030-98869-2_2
10.1007/s10817-019-09520-4
10.1145/365151.365169
10.7561/SACS.2016.1.27
10.1017/S1471068406002730
10.1016/0022-0000(78)90014-4
10.1017/S1471068401001120
10.1007/s10009-015-0391-0
10.1006/inco.1994.1093
10.1007/s10817-021-09589-w
10.1007/978-3-319-25150-9_28
10.1145/96709.96729
10.1016/S0743-1066(96)00068-4
10.1017/CBO9781139195881
10.1145/3625230
10.1016/j.scico.2005.02.006
10.1016/0004-3702(84)90017-1
10.1017/S1471068402001473
10.1017/S1471068421000521
10.4204/EPTCS.320.0
10.1007/978-3-030-02149-8_20
10.1007/s10817-020-09577-6
10.1007/BFb0032738
10.1007/978-3-319-07512-9_1
10.1017/CBO9781139032636
10.1007/978-3-540-75560-9_13
10.1007/s10817-021-09602-2
ContentType Journal Article
DBID AAYXX
CITATION
DOI 10.1017/S1471068424000206
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1475-3081
EndPage 1030
ExternalDocumentID 10_1017_S1471068424000206
GroupedDBID -E.
.FH
09C
09E
0E1
0R~
123
29Q
4.4
5VS
74X
74Y
7~V
8FE
8FG
8R4
8R5
AAAZR
AABES
AABWE
AACJH
AAFUK
AAGFV
AAKTX
AANRG
AARAB
AASVR
AAUKB
AAYXX
ABBXD
ABGDZ
ABITZ
ABJNI
ABKKG
ABMWE
ABQTM
ABQWD
ABROB
ABTCQ
ABUWG
ABVKB
ABVZP
ABXHF
ABZCX
ACAJB
ACBMC
ACDLN
ACGFS
ACIMK
ACNCT
ACUIJ
ACYZP
ACZBM
ACZUX
ACZWT
ADCGK
ADDNB
ADFEC
ADKIL
ADOVH
ADVJH
AEBAK
AEHGV
AEMTW
AENEX
AENGE
AFFHD
AFFUJ
AFKQG
AFKRA
AFLOS
AFLVW
AFUTZ
AFZFC
AGABE
AGBYD
AGJUD
AHQXX
AHRGI
AIGNW
AIHIV
AIOIP
AISIE
AJ7
AJCYY
AJPFC
AJQAS
AKMAY
ALMA_UNASSIGNED_HOLDINGS
ALVPG
ALWZO
AQJOH
ARABE
ARAPS
ATUCA
AUXHV
AZQEC
BBLKV
BENPR
BGHMG
BGLVJ
BLZWO
BMAJL
BPHCQ
C0O
CAG
CBIIA
CCPQU
CCQAD
CCTKK
CFAFE
CHEAL
CITATION
CJCSC
COF
CS3
DC4
DOHLZ
DU5
DWQXO
EBS
EJD
GNUQQ
HCIFZ
HG-
HST
HZ~
I.6
IH6
IOEEP
IPYYG
IS6
I~P
J36
J38
J3A
J9A
JHPGK
JQKCU
K6V
K7-
KCGVB
KFECR
L98
LW7
M-V
NIKVX
O9-
OYBOY
P2P
P62
PHGZM
PHGZT
PQGLB
PQQKQ
PROAC
PYCCK
Q2X
RAMDC
RCA
ROL
RR0
S6-
S6U
SAAAG
T9M
UT1
WFFJZ
WQ3
WXU
WYP
ZYDXJ
ID FETCH-LOGICAL-c240t-e079b4c7baa0d4e19964b9a535c4579a986fb2d938970de267b2ff13dda1fb143
ISICitedReferencesCount 0
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001346247300001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1471-0684
IngestDate Sat Nov 29 04:58:38 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 5
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c240t-e079b4c7baa0d4e19964b9a535c4579a986fb2d938970de267b2ff13dda1fb143
ORCID 0000-0001-9163-2609
OpenAccessLink https://www.cambridge.org/core/services/aop-cambridge-core/content/view/4DF92EF01D1027D804695967BE02833E/S1471068424000206a.pdf/div-class-title-combining-type-checking-and-set-constraint-solving-to-improve-automated-software-verification-div.pdf
PageCount 20
ParticipantIDs crossref_primary_10_1017_S1471068424000206
PublicationCentury 2000
PublicationDate 2024-09-01
PublicationDateYYYYMMDD 2024-09-01
PublicationDate_xml – month: 09
  year: 2024
  text: 2024-09-01
  day: 01
PublicationDecade 2020
PublicationTitle Theory and practice of logic programming
PublicationYear 2024
References Cristiá (S1471068424000206_ref22) 2024; 14070
S1471068424000206_ref21
S1471068424000206_ref20
Mentré (S1471068424000206_ref47) 2012; 7316
S1471068424000206_ref60
S1471068424000206_ref7
S1471068424000206_ref29
S1471068424000206_ref28
S1471068424000206_ref6
S1471068424000206_ref27
S1471068424000206_ref5
S1471068424000206_ref4
S1471068424000206_ref26
S1471068424000206_ref3
S1471068424000206_ref2
S1471068424000206_ref23
Cristiá (S1471068424000206_ref24) 2013; 8137
S1471068424000206_ref9
Hill (S1471068424000206_ref38) 1994
S1471068424000206_ref8
Pierce (S1471068424000206_ref50) 2002
S1471068424000206_ref10
S1471068424000206_ref54
S1471068424000206_ref53
S1471068424000206_ref52
S1471068424000206_ref51
S1471068424000206_ref18
S1471068424000206_ref17
S1471068424000206_ref16
Yardeni (S1471068424000206_ref59) 1992
S1471068424000206_ref15
S1471068424000206_ref58
S1471068424000206_ref14
S1471068424000206_ref13
S1471068424000206_ref57
S1471068424000206_ref12
S1471068424000206_ref56
S1471068424000206_ref11
Spivey (S1471068424000206_ref55) 1992
Martin-Löf (S1471068424000206_ref46) 1984; 1
S1471068424000206_ref19
Pfenning (S1471068424000206_ref1) 1992
Hanus (S1471068424000206_ref33) 2013; 7797
S1471068424000206_ref43
Leuschel (S1471068424000206_ref42) 2003; 2805
S1471068424000206_ref41
S1471068424000206_ref40
S1471068424000206_ref49
S1471068424000206_ref48
S1471068424000206_ref45
Dart (S1471068424000206_ref25) 1992
S1471068424000206_ref44
S1471068424000206_ref32
S1471068424000206_ref31
S1471068424000206_ref30
S1471068424000206_ref39
S1471068424000206_ref37
S1471068424000206_ref35
S1471068424000206_ref34
Heintze (S1471068424000206_ref36) 1992
References_xml – ident: S1471068424000206_ref52
– volume: 1
  year: 1984
  ident: S1471068424000206_ref46
  article-title: Intuitionistic type theory
  publication-title: Studies in Proof Theory
– ident: S1471068424000206_ref43
  doi: 10.19153/cleiej.21.2.3
– ident: S1471068424000206_ref2
  doi: 10.1007/s10009-010-0145-y
– ident: S1471068424000206_ref13
  doi: 10.1007/s10817-023-09666-2
– ident: S1471068424000206_ref40
  doi: 10.1145/319301.319317
– ident: S1471068424000206_ref3
  doi: 10.1017/CBO9780511624162
– ident: S1471068424000206_ref45
  doi: 10.1007/978-3-319-07512-9_6
– ident: S1471068424000206_ref53
  doi: 10.1007/978-3-540-89982-2_59
– ident: S1471068424000206_ref51
  doi: 10.1145/1328408.1328418
– ident: S1471068424000206_ref31
  doi: 10.1109/LICS.1991.151654
– start-page: 63
  volume-title: Types in Logic Programming
  year: 1992
  ident: S1471068424000206_ref59
– ident: S1471068424000206_ref34
  doi: 10.1017/CBO9781316576892
– volume-title: The Gödel Programming Language
  year: 1994
  ident: S1471068424000206_ref38
– start-page: 157
  volume-title: Types in Logic Programming
  year: 1992
  ident: S1471068424000206_ref25
– ident: S1471068424000206_ref5
  doi: 10.1007/978-3-030-98869-2_2
– ident: S1471068424000206_ref20
– ident: S1471068424000206_ref16
  doi: 10.1007/s10817-019-09520-4
– volume-title: The Z Notation: A Reference Manual
  year: 1992
  ident: S1471068424000206_ref55
– ident: S1471068424000206_ref27
  doi: 10.1145/365151.365169
– ident: S1471068424000206_ref8
  doi: 10.7561/SACS.2016.1.27
– volume: 2805
  start-page: 855
  volume-title: ProB: a model checker for B
  year: 2003
  ident: S1471068424000206_ref42
– ident: S1471068424000206_ref28
  doi: 10.1017/S1471068406002730
– ident: S1471068424000206_ref48
  doi: 10.1016/0022-0000(78)90014-4
– ident: S1471068424000206_ref30
  doi: 10.1017/S1471068401001120
– ident: S1471068424000206_ref44
  doi: 10.1007/s10009-015-0391-0
– volume-title: Types and Programming Languages
  year: 2002
  ident: S1471068424000206_ref50
– ident: S1471068424000206_ref58
  doi: 10.1006/inco.1994.1093
– ident: S1471068424000206_ref18
  doi: 10.1007/s10817-021-09589-w
– volume: 7316
  start-page: 238
  volume-title: Discharging proof obligations from atelier B using multiple automated provers
  year: 2012
  ident: S1471068424000206_ref47
– ident: S1471068424000206_ref7
  doi: 10.1007/978-3-319-25150-9_28
– ident: S1471068424000206_ref60
– ident: S1471068424000206_ref35
  doi: 10.1145/96709.96729
– ident: S1471068424000206_ref54
  doi: 10.1016/S0743-1066(96)00068-4
– ident: S1471068424000206_ref4
  doi: 10.1017/CBO9781139195881
– ident: S1471068424000206_ref23
  doi: 10.1145/3625230
– volume: 14070
  start-page: 56
  volume-title: From Computational Logic to Computational Biology - Essays Dedicated to Alfredo Ferro to Celebrate His Scientific Career
  year: 2024
  ident: S1471068424000206_ref22
– ident: S1471068424000206_ref12
– volume-title: Types in logic programming
  year: 1992
  ident: S1471068424000206_ref1
– ident: S1471068424000206_ref37
  doi: 10.1016/j.scico.2005.02.006
– ident: S1471068424000206_ref49
  doi: 10.1016/0004-3702(84)90017-1
– ident: S1471068424000206_ref29
  doi: 10.1017/S1471068402001473
– ident: S1471068424000206_ref26
– volume: 8137
  start-page: 229
  volume-title: {log} as a test case generator for the test template framework
  year: 2013
  ident: S1471068424000206_ref24
– ident: S1471068424000206_ref21
  doi: 10.1017/S1471068421000521
– ident: S1471068424000206_ref41
  doi: 10.4204/EPTCS.320.0
– ident: S1471068424000206_ref32
– start-page: 141
  volume-title: Types in Logic Programming
  year: 1992
  ident: S1471068424000206_ref36
– ident: S1471068424000206_ref14
  doi: 10.1007/978-3-030-02149-8_20
– volume: 7797
  start-page: 123
  volume-title: Programming Logics - Essays in Memory of Harald Ganzinger
  year: 2013
  ident: S1471068424000206_ref33
– ident: S1471068424000206_ref39
– ident: S1471068424000206_ref57
– ident: S1471068424000206_ref17
  doi: 10.1007/s10817-020-09577-6
– ident: S1471068424000206_ref56
  doi: 10.1007/BFb0032738
– ident: S1471068424000206_ref10
  doi: 10.1007/978-3-319-07512-9_1
– ident: S1471068424000206_ref15
– ident: S1471068424000206_ref11
– ident: S1471068424000206_ref6
  doi: 10.1017/CBO9781139032636
– ident: S1471068424000206_ref9
  doi: 10.1007/978-3-540-75560-9_13
– ident: S1471068424000206_ref19
  doi: 10.1007/s10817-021-09602-2
SSID ssj0016324
Score 2.3393378
Snippet This technical note shows how we have combined prescriptive type checking and constraint solving to increase automation during software verification. We do so...
SourceID crossref
SourceType Index Database
StartPage 1011
Title Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification
Volume 24
WOSCitedRecordID wos001346247300001&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
journalDatabaseRights – providerCode: PRVPQU
  databaseName: Computer Science Database
  customDbUrl:
  eissn: 1475-3081
  dateEnd: 20241207
  omitProxy: false
  ssIdentifier: ssj0016324
  issn: 1471-0684
  databaseCode: K7-
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: http://search.proquest.com/compscijour
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest advanced technologies & aerospace journals
  customDbUrl:
  eissn: 1475-3081
  dateEnd: 20241207
  omitProxy: false
  ssIdentifier: ssj0016324
  issn: 1471-0684
  databaseCode: P5Z
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/hightechjournals
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Central
  customDbUrl:
  eissn: 1475-3081
  dateEnd: 20241207
  omitProxy: false
  ssIdentifier: ssj0016324
  issn: 1471-0684
  databaseCode: BENPR
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/central
  providerName: ProQuest
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1ba9swFBZZu4e9bN26sWvRw54WDI4tWdZjKBsLlKQ0WQmFEiRLZmOdUzq36x_Z_905urimF2gf9mISEWQn58t3js6VkI9VXRaprEyC-jRhXJtEGo5vC-bcyVYpN2xCTKflcin3B4O_sRbm4kQ0TXl5KU__q6hhDYSNpbMPEHe3KSzAaxA6XEHscL2X4OEfrt3UhyGeMYe73231M1Yizm3rRnS6wRDtcL4-cf4EsD-9c8EOx-ftGoxYNEOBoP9gXtghPHUdXHt9W9aX9YdOA77WCk1PR6Yx7-tX1IwY5jiYzBcTjMyXI-eHHS-BOfcm4-msC_vMgNydqx5WXRLhrO-WyFiXdxWZFLQeTrTx3gIb13iSp35GS6RfX0IdYMZ7XApkMerpZZyHdivnh0ZReEO8HybFgg18S3_ta3qvy0b0iW5idWOLR2QzE1wiWe7zoy44hR3uXdFa-IYxWI6dyK9v0TN3enbLYos8DQcOOvZAeU4GtnlBnsVhHjRw-zY57nBDETc04oaCfCnghl7hhgbc0HZNA25ohxsacUP7uHlJvn35vNj9moTZG0kFj94mNhVSs0popVLDLOaqMy0Vz3nFuJBKlkWtMyPB3hWpsVkhdFbXo9wYNao1GOGvyEazbuxrQnOTmrw0hUplympmtdTCGAEHfVMqU5dvyKf4E61OfYuV1Z0iefuQD78jT66g-Z5stGfn9gN5XF20P36f7Tih_gNrSW2-
linkProvider ProQuest
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=Combining+Type+Checking+and+Set+Constraint+Solving+to+Improve+Automated+Software+Verification&rft.jtitle=Theory+and+practice+of+logic+programming&rft.au=CRISTI%C3%81%2C+MAXIMILIANO&rft.au=ROSSI%2C+GIANFRANCO&rft.date=2024-09-01&rft.issn=1471-0684&rft.eissn=1475-3081&rft.volume=24&rft.issue=5&rft.spage=1011&rft.epage=1030&rft_id=info:doi/10.1017%2FS1471068424000206&rft.externalDBID=n%2Fa&rft.externalDocID=10_1017_S1471068424000206
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1471-0684&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1471-0684&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1471-0684&client=summon