{"title":"Towards a Dynabook for verified VM construction","authors":"Boris Shingarov , Jan Vraný","doi":"10.1016/j.cola.2024.101275","DOIUrl":null,"url":null,"abstract":"<div><p>We present <em>Smalltalk-25</em>, a scientific <em>Programm</em> of research towards the synthesis of Smalltalk VMs by formal methods. We approach this through a Dynabook-style implementation of Hilbert’s “manipulating proofs as mathematical objects”. We begin by implementing an automated-reasoning engine based on refinement types. Having that foundation laid, we build a program logics for a simple “model” language; a framework for reasoning about a real intermediate language by translating into the model language; an ahead-of-time bootstrapper; and a framework for debugging thus-constructed VMs.</p><p>Our <em>Programm</em> is an ongoing research effort; this paper provides a report of its current status. Every part of our system is implemented in Smalltalk and available from GitHub under the MIT license.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"80 ","pages":"Article 101275"},"PeriodicalIF":1.7000,"publicationDate":"2024-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118424000182","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
We present Smalltalk-25, a scientific Programm of research towards the synthesis of Smalltalk VMs by formal methods. We approach this through a Dynabook-style implementation of Hilbert’s “manipulating proofs as mathematical objects”. We begin by implementing an automated-reasoning engine based on refinement types. Having that foundation laid, we build a program logics for a simple “model” language; a framework for reasoning about a real intermediate language by translating into the model language; an ahead-of-time bootstrapper; and a framework for debugging thus-constructed VMs.
Our Programm is an ongoing research effort; this paper provides a report of its current status. Every part of our system is implemented in Smalltalk and available from GitHub under the MIT license.