Unified Program Generation and Verification: A Case Study on Number-Theoretic Transform
Giving correctness assurance to the generated code in the context of generative programming is a poorly explored problem. Such assurance is particularly desired for applications where correctness of the optimized code is far from obvious, such as cryptography. This work presents a unified approach t...
Saved in:
| Published in | Functional and Logic Programming Vol. 13215; pp. 133 - 151 |
|---|---|
| Main Authors | , |
| Format | Book Chapter |
| Language | English |
| Published |
Switzerland
Springer International Publishing AG
01.01.2022
Springer International Publishing |
| Series | Lecture Notes in Computer Science |
| Online Access | Get full text |
| ISBN | 3030994600 9783030994600 |
| ISSN | 0302-9743 1611-3349 |
| DOI | 10.1007/978-3-030-99461-7_8 |
Cover
| Abstract | Giving correctness assurance to the generated code in the context of generative programming is a poorly explored problem. Such assurance is particularly desired for applications where correctness of the optimized code is far from obvious, such as cryptography.
This work presents a unified approach to program generation and verification, and applies it to an implementation of Number-Theoretic Transform, a key building block in lattice-based cryptography. Our strategy for verification is based on problem decomposition: While we found that an attempt to prove functional correctness of the whole program all at once is intractable, low-level components in the optimized program and its high-level algorithm structure can be separately verified using procedures of appropriate levels of abstraction.
We demonstrate that such a decomposition and subsequent verification of each component are naturally realized in a program-generation approach based on the tagless-final style, leading to an end-to-end functional correctness verification of a highly optimized program. |
|---|---|
| AbstractList | Giving correctness assurance to the generated code in the context of generative programming is a poorly explored problem. Such assurance is particularly desired for applications where correctness of the optimized code is far from obvious, such as cryptography.
This work presents a unified approach to program generation and verification, and applies it to an implementation of Number-Theoretic Transform, a key building block in lattice-based cryptography. Our strategy for verification is based on problem decomposition: While we found that an attempt to prove functional correctness of the whole program all at once is intractable, low-level components in the optimized program and its high-level algorithm structure can be separately verified using procedures of appropriate levels of abstraction.
We demonstrate that such a decomposition and subsequent verification of each component are naturally realized in a program-generation approach based on the tagless-final style, leading to an end-to-end functional correctness verification of a highly optimized program. |
| Author | Kameyama, Yukiyoshi Masuda, Masahiro |
| Author_xml | – sequence: 1 givenname: Masahiro surname: Masuda fullname: Masuda, Masahiro email: masa@logic.cs.tsukuba.ac.jp – sequence: 2 givenname: Yukiyoshi surname: Kameyama fullname: Kameyama, Yukiyoshi |
| BookMark | eNpFkM1OAjEQx6uiEZQn8NIXqLbb2m69EaJoQtRE1GPT7s7CIrTYLgff3gImnmbm_zGH3wD1fPCA0BWj14xSdaNVSTihnBKthWREmfIIDXgW9rc-Rn0mGSOcC33yb1DaQ_28F0Qrwc_QgHGW47yU-hwNU1pSSgtVFIryPvp8923TQo1fY5hHu8YT8BBt1waPra_xB8TsV3vhDo_w2CbAb922_sE58bxdO4hktoAQoWsrPIvWpybE9SU6bewqwfBvXqD3h_vZ-JFMXyZP49GULDktO1KUrFE12IJWVlXO5cM1jDtVyVJz1WhglgNQWysrRSGUltaxQt5WypW1cPwCscPftImtn0M0LoSvZBg1O4YmMzTcZBpmz8xkhrkjDp1NDN9bSJ2BXakC30W7qhZ200FMRmpFldz9UYYJzX8BvMByiQ |
| ContentType | Book Chapter |
| Copyright | Springer Nature Switzerland AG 2022 |
| Copyright_xml | – notice: Springer Nature Switzerland AG 2022 |
| DBID | FFUUA |
| DEWEY | 005.114 |
| DOI | 10.1007/978-3-030-99461-7_8 |
| DatabaseName | ProQuest Ebook Central - Book Chapters - Demo use only |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 3030994619 9783030994617 |
| EISSN | 1611-3349 |
| Editor | Igarashi, Atsushi Hanus, Michael |
| Editor_xml | – sequence: 1 fullname: Igarashi, Atsushi – sequence: 2 fullname: Hanus, Michael |
| EndPage | 151 |
| ExternalDocumentID | EBC6970760_107_149 |
| GroupedDBID | 38. AABBV AAZWU ABSVR ABTHU ABVND ACHZO ACPMC ADNVS AEDXK AEJLV AEKFX AHVRR AIYYB ALMA_UNASSIGNED_HOLDINGS BBABE CZZ FFUUA I4C IEZ SBO TPJZQ TSXQS Z5O Z7R Z7S Z7U Z7W Z7X Z7Y Z7Z Z81 Z83 Z84 Z85 Z87 Z88 -DT -~X 29L 2HA 2HV ACGFS ADCXD EJD F5P LAS LDH P2P RSU ~02 |
| ID | FETCH-LOGICAL-j308t-281f7dea20ca7cbbf7dbf13b7c68937f9e1a3ee0ad7a6424796ab1265c7b8d4b3 |
| ISBN | 3030994600 9783030994600 |
| ISSN | 0302-9743 |
| IngestDate | Tue Jul 29 20:28:13 EDT 2025 Thu May 29 00:23:55 EDT 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| LCCallNum | QA76.758 |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-j308t-281f7dea20ca7cbbf7dbf13b7c68937f9e1a3ee0ad7a6424796ab1265c7b8d4b3 |
| OCLC | 1314613869 |
| PQID | EBC6970760_107_149 |
| PageCount | 19 |
| ParticipantIDs | springer_books_10_1007_978_3_030_99461_7_8 proquest_ebookcentralchapters_6970760_107_149 |
| PublicationCentury | 2000 |
| PublicationDate | 2022-01-01 |
| PublicationDateYYYYMMDD | 2022-01-01 |
| PublicationDate_xml | – month: 01 year: 2022 text: 2022-01-01 day: 01 |
| PublicationDecade | 2020 |
| PublicationPlace | Switzerland |
| PublicationPlace_xml | – name: Switzerland – name: Cham |
| PublicationSeriesTitle | Lecture Notes in Computer Science |
| PublicationSeriesTitleAlternate | Lect.Notes Computer |
| PublicationSubtitle | 16th International Symposium, FLOPS 2022, Kyoto, Japan, May 10-12, 2022, Proceedings |
| PublicationTitle | Functional and Logic Programming |
| PublicationYear | 2022 |
| 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 orcidid: 0000-0003-0848-0873 surname: Yung fullname: Yung, Moti |
| SSID | ssj0002722703 ssj0002792 |
| Score | 2.264357 |
| Snippet | Giving correctness assurance to the generated code in the context of generative programming is a poorly explored problem. Such assurance is particularly... |
| SourceID | springer proquest |
| SourceType | Publisher |
| StartPage | 133 |
| Title | Unified Program Generation and Verification: A Case Study on Number-Theoretic Transform |
| URI | http://ebookcentral.proquest.com/lib/SITE_ID/reader.action?docID=6970760&ppg=149 http://link.springer.com/10.1007/978-3-030-99461-7_8 |
| Volume | 13215 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1Lb9QwELbockEcKC9RaJEPnEBGfmTjhNt2tVBV0NO29GbZsS0Vqcuj4QC_npnETnYDl3KJNlnHGvmL7Hl-Q8irUEnkPAHrxHPFChs4c15jsn8hfOU5jxqrkT-dlSfnxenl_HLsVNhVl7TubfP7n3Ul_4MqPANcsUr2FsgOk8ID-A34whUQhutE-d11s_Z9h-BESo48dH5j0-QG8_4x3eo6H0g2dze6iqhrpr8T2XSbU5EvQNh4NSZ6LN4s4XDrcgx_YTThrGsbwta56LGnREd1d9tpIOXEaZCdhhO345bna_Fhx9BUGImpi5LznZ1Tyb4W8699eDv1Al5l-K5g2lTjsZND7aKnLJ2wXq-Ol2WtMWxowEA1OOjbd4bNwjConjqn7JE9EG1G7i5Wpx8vBtea1FLCRoaVPIPYPdfSeD8QUPUcwxMpd8yNSYS8UzzW--Q-FqNQrBIBuR-SO2HziDzIrTho2pkfk88JYZoQpiPCFBCm2wi_owuK-NIOXwojpvjSAd8n5Pz9ar08YalnBvuieNUyWYmofbCSN1Y3zsGNi0I53ZSomcY6CKtC4NZrC6ZnoevSOiHLeaNd5QunnpLZ5usmPCNUaQeTNKLwc1gXb12MAYzbes6jqMDuPiAsL5LpIvspnbjpl-TGTAA8IK_zShocfmMyZTYgYJQBBEyHgAEEnt9y8hfk3vidH5JZ--NnOAJ1sXUv0-fxB52VaEc |
| 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=Functional+and+Logic+Programming&rft.atitle=Unified+Program+Generation+and+Verification%3A+A+Case+Study+on+Number-Theoretic+Transform&rft.date=2022-01-01&rft.pub=Springer+International+Publishing+AG&rft.isbn=9783030994600&rft.volume=13215&rft_id=info:doi/10.1007%2F978-3-030-99461-7_8&rft.externalDBID=149&rft.externalDocID=EBC6970760_107_149 |
| thumbnail_s | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Febookcentral.proquest.com%2Fcovers%2F6970760-l.jpg |