Efficient Runtime Assertion Checking for Properties over Mathematical Numbers
Runtime assertion checking is the discipline of detecting at runtime violations of program properties written as formal code annotations. These properties often include numerical properties, which may rely on either (bounded) machine representations or (unbounded) mathematical numbers. The verificat...
Saved in:
Published in | Runtime Verification Vol. 12399; pp. 310 - 322 |
---|---|
Main Authors | , , |
Format | Book Chapter |
Language | English |
Published |
Switzerland
Springer International Publishing AG
2020
Springer International Publishing |
Series | Lecture Notes in Computer Science |
Subjects | |
Online Access | Get full text |
ISBN | 3030605078 9783030605070 |
ISSN | 0302-9743 1611-3349 |
DOI | 10.1007/978-3-030-60508-7_17 |
Cover
Abstract | Runtime assertion checking is the discipline of detecting at runtime violations of program properties written as formal code annotations. These properties often include numerical properties, which may rely on either (bounded) machine representations or (unbounded) mathematical numbers. The verification of the former is easier to implement and more efficient at runtime, while the latter are more expressive and often more adequate for writing specifications. This short paper explains how the runtime assertion checker E-ACSL reconciles both approaches by presenting a type system that allows the tool to generate efficient machine-number based code when it is safe to do so, while generating arbitrary-precision code when it is necessary. This type system and the code generator not only handle integers but also rational arithmetics. As far as we know, it is the first runtime verification tool that supports the verification of properties over rational numbers. |
---|---|
AbstractList | Runtime assertion checking is the discipline of detecting at runtime violations of program properties written as formal code annotations. These properties often include numerical properties, which may rely on either (bounded) machine representations or (unbounded) mathematical numbers. The verification of the former is easier to implement and more efficient at runtime, while the latter are more expressive and often more adequate for writing specifications. This short paper explains how the runtime assertion checker E-ACSL reconciles both approaches by presenting a type system that allows the tool to generate efficient machine-number based code when it is safe to do so, while generating arbitrary-precision code when it is necessary. This type system and the code generator not only handle integers but also rational arithmetics. As far as we know, it is the first runtime verification tool that supports the verification of properties over rational numbers. |
Author | Maurica, Fonenantsoa Signoles, Julien Kosmatov, Nikolai |
Author_xml | – sequence: 1 givenname: Nikolai orcidid: 0000-0003-1557-2813 surname: Kosmatov fullname: Kosmatov, Nikolai email: nikolaikosmatov@gmail.com – sequence: 2 givenname: Fonenantsoa surname: Maurica fullname: Maurica, Fonenantsoa – sequence: 3 givenname: Julien surname: Signoles fullname: Signoles, Julien |
BookMark | eNpFkM1OwzAQhM2vaKFvwCEvYLC9dpwcq4o_qQWE4Gw59poG2qTYKc-PW5A47WpWs5r5xuS46zsk5JKzK86Yvq51RYEyYLRkilVUG64PyBiyshfKQzLiJecUQNZH_wddHZNR3gWttYRTMuaCSa6EkvqMTFL6YIwJKVQt1IgsbkJoXYvdULxsu6FdYzFNCePQ9l0xW6L7bLv3IvSxeI79ZqdjKvpvjMXCDktc26F1dlU8btcNxnRBToJdJZz8zXPydnvzOrun86e7h9l0TpcgYKAlVNZb5avKCxEgIGLDnVKouNO18qoKGCx6X0IjfBO4Q6-dV6oC6WWj4JyI379pE3M-jKbp-89kODM7dCajM2AyA7MnZXboskn-mjax_9piGgzuXC53j3bllnYz5AqmhLIupTACtMlp4Qd17HC6 |
ContentType | Book Chapter |
Copyright | Springer Nature Switzerland AG 2020 |
Copyright_xml | – notice: Springer Nature Switzerland AG 2020 |
DBID | FFUUA |
DOI | 10.1007/978-3-030-60508-7_17 |
DatabaseName | ProQuest Ebook Central - Book Chapters - Demo use only |
DatabaseTitleList | |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISBN | 3030605086 9783030605087 |
EISSN | 1611-3349 |
Editor | Deshmukh, Jyotirmoy Ničković, Dejan |
Editor_xml | – sequence: 1 fullname: Ničković, Dejan – sequence: 2 fullname: Deshmukh, Jyotirmoy |
EndPage | 322 |
ExternalDocumentID | EBC6369642_237_323 |
GroupedDBID | 38. AABBV ACGCR AEDXK AEJLV AEJNW AEKFX ALMA_UNASSIGNED_HOLDINGS APEJL AVCSZ AZTDL BBABE CYNQG CZZ DACMV ESBCR FFUUA I4C IEZ OAOFD OPOMJ SBO TPJZQ TSXQS Z5O Z7R Z7S Z7U Z7W Z7X Z7Y Z7Z Z81 Z83 Z84 Z85 Z87 Z88 -DT -GH -~X 1SB 29L 2HA 2HV 5QI 875 AASHB ABMNI ACGFS ADCXD AEFIE EJD F5P FEDTE HVGLF LAS LDH P2P RIG RNI RSU SVGTG VI1 ~02 |
ID | FETCH-LOGICAL-h323t-638ada5d88d22f3feeeb1c55e51c795d58fefaedd63b2dbf1ced7cd55834d4b53 |
ISBN | 3030605078 9783030605070 |
ISSN | 0302-9743 |
IngestDate | Tue Jul 29 20:36:12 EDT 2025 Wed May 28 23:37:01 EDT 2025 |
IsDoiOpenAccess | false |
IsOpenAccess | true |
IsPeerReviewed | true |
IsScholarly | true |
LCCallNum | QA76.758 |
Language | English |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-h323t-638ada5d88d22f3feeeb1c55e51c795d58fefaedd63b2dbf1ced7cd55834d4b53 |
OCLC | 1204152547 |
ORCID | 0000-0003-1557-2813 |
OpenAccessLink | https://cea.hal.science/cea-04469333 |
PQID | EBC6369642_237_323 |
PageCount | 13 |
ParticipantIDs | springer_books_10_1007_978_3_030_60508_7_17 proquest_ebookcentralchapters_6369642_237_323 |
PublicationCentury | 2000 |
PublicationDate | 2020 |
PublicationDateYYYYMMDD | 2020-01-01 |
PublicationDate_xml | – year: 2020 text: 2020 |
PublicationDecade | 2020 |
PublicationPlace | Switzerland |
PublicationPlace_xml | – name: Switzerland – name: Cham |
PublicationSeriesSubtitle | Programming and Software Engineering |
PublicationSeriesTitle | Lecture Notes in Computer Science |
PublicationSeriesTitleAlternate | Lect.Notes Computer |
PublicationSubtitle | 20th International Conference, RV 2020, Los Angeles, CA, USA, October 6-9, 2020, Proceedings |
PublicationTitle | Runtime Verification |
PublicationYear | 2020 |
Publisher | Springer International Publishing AG Springer International Publishing |
Publisher_xml | – name: Springer International Publishing AG – name: Springer International Publishing |
RelatedPersons | Hartmanis, Juris Gao, Wen Bertino, Elisa Woeginger, Gerhard Goos, Gerhard Steffen, Bernhard Yung, Moti |
RelatedPersons_xml | – sequence: 1 givenname: Gerhard surname: Goos fullname: Goos, Gerhard – sequence: 2 givenname: Juris surname: Hartmanis fullname: Hartmanis, Juris – sequence: 3 givenname: Elisa surname: Bertino fullname: Bertino, Elisa – sequence: 4 givenname: Wen surname: Gao fullname: Gao, Wen – sequence: 5 givenname: Bernhard orcidid: 0000-0001-9619-1558 surname: Steffen fullname: Steffen, Bernhard – sequence: 6 givenname: Gerhard orcidid: 0000-0001-8816-2693 surname: Woeginger fullname: Woeginger, Gerhard – sequence: 7 givenname: Moti surname: Yung fullname: Yung, Moti |
SSID | ssj0002425925 ssj0002792 |
Score | 2.234155 |
Snippet | Runtime assertion checking is the discipline of detecting at runtime violations of program properties written as formal code annotations. These properties... |
SourceID | springer proquest |
SourceType | Publisher |
StartPage | 310 |
SubjectTerms | Numerical properties Optimized code generation Rational numbers Runtime assertion checking Typing |
Title | Efficient Runtime Assertion Checking for Properties over Mathematical Numbers |
URI | http://ebookcentral.proquest.com/lib/SITE_ID/reader.action?docID=6369642&ppg=323 http://link.springer.com/10.1007/978-3-030-60508-7_17 |
Volume | 12399 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1La9wwEBab7aX00DdNX-jQm1GxJctWDj2EkBBCdik0CbkJ25KbELKGrNNDT_3pndHD9m5zSS9mMUbSzidGM6OZbwj5UqbIUi4Vq-A4ZXmhBFNKtszwVJTcNmlaYTXyYlkcn-cnl_JyNvszyVq67-uvze8H60r-B1V4B7hilewjkB0GhRfwG_CFJyAMzy3jdzPM6iliscnDrU0uYKY2RN4G9dmtwRLtfnmsb8B9vR5Dz8gj5EzGo25lXR5MN-jmH9c_V11og42l07FQLITuHd8EZg_EyffdbT5uoYMr29zEtMzvGOK_Q67WBFNEk8VADgs7YumakHhbHsVk199Ow03GsutdglgSm01E3TMNTvB0KzgRg5Nb4c0xwrbhzQr0X1IwUNOJEhSgscHn8UrQeiVdIPWi8FSnQfGKkBzrz3Dha53_OR6mGSEwMsPZFCt1Vu6QnVLlc_Jk__Dk9GKI0qFDNmFvTJFu0d9L-VVhtVBctfJ8TuO_mFRqPjTlhk-zdQ3vrJuzF-QZVrxQLEUB-b0kM7t6RZ5HCGiA4DVZDPjTgD8d8KcRfwr40xF_ivjTKf404P-GnB8dnh0cs9COg10JLnoGmroylTRKGc5b0VoL53wjpZVZU-5JI1Vr28oaU4iam7rNGmvKxkipRG7yWoq3ZL6Cjf2O0KyoVCsaXrbC5jwr9nhleWbBWoURVW52CYui0S5pIGQqN14Qa11gG8qcay5KDYvbJUmUn8bP1zqycYPgtdAgeO0Er1Hw7x_19QfydNzZH8m8v7u3n8AQ7evPYbf8BWmNgxQ |
linkProvider | Library Specific Holdings |
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=bookitem&rft.title=Runtime+Verification&rft.au=Kosmatov%2C+Nikolai&rft.au=Maurica%2C+Fonenantsoa&rft.au=Signoles%2C+Julien&rft.atitle=Efficient+Runtime+Assertion+Checking+for+Properties+over+Mathematical+Numbers&rft.series=Lecture+Notes+in+Computer+Science&rft.date=2020-01-01&rft.pub=Springer+International+Publishing&rft.isbn=9783030605070&rft.issn=0302-9743&rft.eissn=1611-3349&rft.spage=310&rft.epage=322&rft_id=info:doi/10.1007%2F978-3-030-60508-7_17 |
thumbnail_s | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Febookcentral.proquest.com%2Fcovers%2F6369642-l.jpg |