Abstract
In the past few years, we have seen machine-checked proofs of relatively large software systems, including compilers and micro-kernels. But like all formal arguments, the assurance gained by these mechanical proofs is only as good as the models we construct of the underlying machine. I will argue that how we construct and validate these models is of vital importance for the research community. In particular, I propose that we develop domain-specific languages (DSLs) for describing the semantics of machines, and build interpretations of these DSLs in our respective proof-development systems. This will allow us to factor out and re-use machine semantics for everything from software to hardware.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Milner, R., Weyhrauch, R.: Proving compiler correctness in a mechanized logic. In: Proceedings of the 7th Annual Machine Intelligence Workshop. Machine Intelligence, vol. 7, pp. 51–72. Edinburgh University Press (1972)
Leroy, X.: Formal verification of a realistic compiler. Commun. of the ACM 52(7), 107–115 (2009)
Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., Winwood, S.: sel4: formal verification of an os kernel. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, SOSP 2009, pp. 207–220. ACM, New York (2009)
Wahbe, R., Lucco, S., Anderson, T.E., Graham, S.L.: Efficient software-based fault isolation. In: Proc. of the 14th ACM Symp. on Operating Systems Principles, SOSP 1993, pp. 203–216. ACM (1993)
Abadi, M., Budiu, M., Erlingsson, U., Ligatti, J.: Control-flow integrity. In: Proc. of the 12th ACM Conf. on Computer and Commun. Security, CCS 2005, pp. 340–353. ACM (2005)
Morrisett, G., Walker, D., Crary, K., Glew, N.: From System F to typed assembly language. In: Proc. of the 25th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, POPL 1998, pp. 85–97. ACM (1998)
Ramsey, N., Fernandez, M.F.: Specifying representations of machine instructions. ACM Trans. Program. Lang. Syst. 19(3), 492–524 (1997)
Ramsey, N., Davidson, J.W.: Machine Descriptions to Build Tools for Embedded Systems. In: Müller, F., Bestavros, A. (eds.) LCTES 1998. LNCS, vol. 1474, pp. 176–192. Springer, Heidelberg (1998)
Dias, J., Ramsey, N.: Automatically generating instruction selectors using declarative machine descriptions. In: Proc. of the 37th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, POPL 2010, pp. 403–416. ACM (2010)
Morrisett, G., Tan, G., Tassarotti, J., Tristan, J.B., Gan, E.: Rocksalt: better, faster, stronger sfi for the x86. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2012, pp. 395–404. ACM, New York (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Morrisett, G. (2012). Scalable Formal Machine Models. In: Jhala, R., Igarashi, A. (eds) Programming Languages and Systems. APLAS 2012. Lecture Notes in Computer Science, vol 7705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35182-2_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-35182-2_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35181-5
Online ISBN: 978-3-642-35182-2
eBook Packages: Computer ScienceComputer Science (R0)