Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)
DOI: 10.1109/ase.2001.989789
|View full text |Cite
|
Sign up to set email alerts
|

The synthesis of a Java card tokenisation algorithm

Abstract: :We describe the development of a Java bytecode optimisation algorithm by the methodology of program extraction. We develop the algorithm as a collection of proofs and definitions in the Coq proof assistant, and then use Coq's extraction mechanism to automatically generate a program in OCaml. The extraction methodology guarantees that this program is correct. We discuss the feasibility of the methodology and suggest some improvements that could be made. The authors and the University of Edinburgh retain the ri… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
5
0

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(5 citation statements)
references
References 5 publications
0
5
0
Order By: Relevance
“…Genet et al [GJKP03] use the generic proof assistant PVS for proving the correctness of algorithms for transforming Java Card byte code into the more compact CAP format. Similar works was done by Denney [Den01], using the program extraction mechanism of Coq. These optimisations do not involve any sophisticated static analysis.…”
Section: Related Workmentioning
confidence: 83%
“…Genet et al [GJKP03] use the generic proof assistant PVS for proving the correctness of algorithms for transforming Java Card byte code into the more compact CAP format. Similar works was done by Denney [Den01], using the program extraction mechanism of Coq. These optimisations do not involve any sophisticated static analysis.…”
Section: Related Workmentioning
confidence: 83%
“…Genet et al [11] use the generic proof assistant PVS for proving the correctness of algorithms for transforming Java Card byte code into the more compact CAP format. Similar work was done by Denney [10], using the program extraction mechanism of Coq. These optimizations do not involve any sophisticated static analysis.…”
Section: Related Workmentioning
confidence: 96%
“…We construct a function analyse of dependent type (P : Program) → State P which must verify ∀P : Program, P ٛanalyse(P ) (10) In addition, we want to obtain a non-trivial solution of the constraint system: e.g., an analyser returning the top element of the lattice for any input is a correct solution, but of poor interest. We thus add the requirement that our solution is the least solution of the constraint system:…”
Section: Construction Of the Analysermentioning
confidence: 99%
“…The surprising lesson, for me at least, was the amount of effort it required to smooth out all the niggling issues with interfacing with other Haskell libraries, realizing axioms, custom module headers, type classes, and so forth. [Denney 2001;Filliâtre and Letouzey 2004;Leroy 2006]. Using extraction successfully requires a close tie between the theorem prover and target programming language.…”
Section: Lessons Learnedmentioning
confidence: 99%