Towards Porting Operating Systems with Program Synthesis
Jingmei Hu, Eric Lu, David A. Holland, Ming Kawaguchi, Stephen Chong,, Margo I. Seltzer

TL;DR
This paper explores using modern program synthesis techniques to automatically generate machine-dependent operating system components, aiming to facilitate OS porting across diverse hardware platforms.
Contribution
It introduces domain-specific languages and a toolchain for synthesizing OS components from specifications, demonstrating the feasibility of automated OS porting.
Findings
Successfully synthesized 140 OS components for four hardware platforms
Developed languages Alewife and Cassiopea for specifications and architecture descriptions
Implemented optimization methods to enhance assembly synthesis scalability
Abstract
The end of Moore's Law has ushered in a diversity of hardware not seen in decades. Operating system (and system software) portability is accordingly becoming increasingly critical. Simultaneously, there has been tremendous progress in program synthesis. We set out to explore the feasibility of using modern program synthesis to generate the machine-dependent parts of an operating system. Our ultimate goal is to generate new ports automatically from descriptions of new machines. One of the issues involved is writing specifications, both for machine-dependent operating system functionality and for instruction set architectures. We designed two domain-specific languages: Alewife for machine-independent specifications of machine-dependent operating system functionality and Cassiopea for describing instruction set architecture semantics. Automated porting also requires an implementation. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
