Kevin W. Hamlen, Dakota Fisher, Gilmore R. Lundquist
{"title":"Source-free Machine-checked Validation of Native Code in Coq","authors":"Kevin W. Hamlen, Dakota Fisher, Gilmore R. Lundquist","doi":"10.1145/3338502.3359759","DOIUrl":null,"url":null,"abstract":"Picinæ is an infrastructure for machine-proving properties of raw native code programs without sources within the Coq program-proof co-development system. This facilitates formal reasoning about binary code that is inexpressible in source languages or for which no source code exists, such as hand-written assembly code or code resulting from binary transformations (e.g., binary hardening or debloating algorithms). Preliminary results validating some highly optimized, low-level subroutines for Intel and ARM architectures using this new framework are presented and discussed.","PeriodicalId":139506,"journal":{"name":"Proceedings of the 3rd ACM Workshop on Forming an Ecosystem Around Software Transformation","volume":"67 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 3rd ACM Workshop on Forming an Ecosystem Around Software Transformation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3338502.3359759","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Picinæ is an infrastructure for machine-proving properties of raw native code programs without sources within the Coq program-proof co-development system. This facilitates formal reasoning about binary code that is inexpressible in source languages or for which no source code exists, such as hand-written assembly code or code resulting from binary transformations (e.g., binary hardening or debloating algorithms). Preliminary results validating some highly optimized, low-level subroutines for Intel and ARM architectures using this new framework are presented and discussed.