首页 | 本学科首页   官方微博 | 高级检索  
     


Balancing the Load
Authors:Eyad Alkassar  Mark A Hillebrand  Dirk C Leinenbach  Norbert W Schirmer  Artem Starostin  Alexandra Tsyban
Affiliation:2. Computer Science Dept., Saarland University, P.O. Box 15 11 50, 66041, Saarbrücken, Germany
1. German Research Center for Artificial Intelligence (DFKI), P.O. Box 15 11 50, 66041, Saarbrücken, Germany
Abstract:We have developed a stack of semantics for a high-level C-like language and low-level assembly code, which has been carefully crafted to support the pervasive verification of system software. It can handle mixed-language implementations and concurrently operating devices, and permits the transferral of properties to the target architecture while obeying its resource restrictions. We demonstrate the applicability of our framework by proving the correct virtualization of user memory in our microkernel, which implements demand paging. This verification target is of particular interest because it has a relatively simple top-level specification and it exercises all parts of our semantics stack. At the bottom level a disk driver written in assembly implements page transfers via a swap disk. A page-fault handler written in C uses the driver to implement the paging algorithm. It guarantees that a step of the currently executing user can be simulated at the architecture level. Besides the mere theoretical and technical difficulties the project also bore the social challenge to manage the large verification effort, spread over many sites and people, concurrently contributing to and maintaining a common theory corpus. We share our experiences and elaborate on lessons learned.
Keywords:
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号