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

Full description

Saved in:
Bibliographic Details
Published inFunctional and Logic Programming Vol. 13215; pp. 133 - 151
Main Authors Masuda, Masahiro, Kameyama, Yukiyoshi
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 01.01.2022
Springer International Publishing
SeriesLecture Notes in Computer Science
Online AccessGet full text
ISBN3030994600
9783030994600
ISSN0302-9743
1611-3349
DOI10.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