Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3609703.3609714acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprisConference Proceedingsconference-collections
research-article

Survey of the Formal Verification of Operating Systems in Power Monitoring System

Published: 16 August 2023 Publication History

Abstract

The formal verification of the operating systems in power monitoring system is an important means to ensure the security of the operating system in power monitoring system. This paper introduces the verification principles and framework of formal verification of operating systems in power monitoring system, the languages and tools used in formal verification, and some classic projects of formal verification of operating systems. Through the introduction of the related content of the formalization of these operating systems, some ideas and future development trends of the formal verification of the current operating systems are explained. It has completed the verification process, beginning with weak type safety and progressing to functional correctness, proof of the high-level abstract protocol, and modification of the low-level code. These gain from the constant advancement and refinement of tools and technologies for formal verification of operating systems, but it is also subject to formal verification tools and techniques, and cannot genuinely go towards the last practical link of production. The automated research on formal verification tools and technologies will continue to be a significant advance in operating system formal verification.

References

[1]
C. Hoare, “AN AXIOMATIC BASIS FOR COMPUTER PROGRAMMING,” COMMUNICATIONS OF THE ACM, vol. 12, no. 10, pp. 576–&, 1969.
[2]
J. C. Reynolds, “Separation logic: A logic for shared mutable data structures,” in Proceedings 17th Annual IEEE Symposium on Logic in Computer Science, 2002.
[3]
L. Cardelli, P. Gardner, and G. Ghelli, “A spatial logic for querying graphs,” Springer, Berlin, Heidelberg, 2002.
[4]
P. W. O'Hearn, “Resources, concurrency, and local reasoning,” theoretical computer science, vol. 375, no. 1-3, pp. 271–307, 2004.
[5]
J. Girard, “Linear Logic,” Theoretical Computer Science, vol. 50, no. 1, pp. 1–102, 1987.
[6]
P. O'Hearn and D. Pym, “The logic of bunched implications,” BULLETIN OF SYMBOLIC LOGIC, vol. 5, no. 2, pp. 215–244, JUN 1999.
[7]
G. Klein, J. Andronick, K. Elphinstone, T. Murray, T. Sewell, R. Kolanski, and G. Heiser, “Comprehensive formal verification of an os microkernel,” ACM Trans. Comput. Syst., vol. 32, no. 1, Feb. 2014. [Online]. Available: https://doi.org/10.1145/2560537
[8]
Y. Yuan, P. Manolios, and L. Lamport, “Model checking tla+ specifications,” in Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods, 1999.
[9]
Xiongnan, Newman, Ronghui, Ramananandro, Tahina, Weng, Shu Chun, Shao, Zhong, and K. and, “Deep specifications and certified abstraction layers,” ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages, vol. 50, no. 1, pp. 595–608, 2015.
[10]
P. Bjesse, K. Claessen, M. Sheeran, and S. Singh, “Lava: hardware design in haskell,” Acm Sigplan Notices, vol. 34, no. 1, pp. 174–184, 1998.
[11]
“Cogent: Verifying high-assurance file system implementations,” ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages, 2016.
[12]
V. Sjberg, Y. Sang, S. Weng, and Z. Shao., “DeepSEA: A Language for Certifjed System Software,” in ACM Program, Oct. 2019.
[13]
R. Gu, Z. Shao, H. Chen, X. Wu, J. Kim, berg, and D. Costanzo, “Certikos: an extensible architecture for building certified concurrent os kernels,” 2016.
[14]
H. Chen, “Building a file system with fscq infrastructure,” 2015.
[15]
M. E. M. I. o. T. Wang, Stephanie, “Certifying checksum-based logging in the rapidfscq crash-safe filesystem,” 2016.
[16]
L. Robinson and O. Roubine, “Special - a specification and assertion language,” Special A Specification And Assertion Language, 1976.
[17]
M. Odersky, P. Altherr, V. Cremet, B. Emir, and M. Zenger, “An overview of the scala programming language,” epfl, 2008.
[18]
J. Protzenko, J.-K. Zinzindohou´e, A. Rastogi, T. Ramananandro, P. Wang, S. Zanella-B´eguelin, A. Delignat-Lavaud, C. Hritcu, K. Bhargavan, C. Fournet, and N. Swamy, “Verified low-level programming embedded in f*,” Proc. ACM Program. Lang., vol. 1, no. ICFP, Aug. 2017. [Online]. Available: https://doi.org/10.1145/3110261
[19]
L. D. Moura and N. Bjrner, “Z3: an efficient smt solver,” Springer, 2008.
[20]
J. Jing, F. Ma, and J. Zhang, “Smt brief description of solution technology,” Journal of Frontiers of Computer Science and Technology, no. 07, pp. 769–780, 2015.
[21]
M. Dahlweid, M. Moskal, T. Santen, S. Tobies, and W. Schulte, “Vcc: Contract-based modular verification of concurrent c,” in 2009 31st International Conference on Software Engineering - ICSE, 2009.
[22]
C. Baumann and T. Bormer, “Verifying the pikeos microkernel: First results in the verisoftxt avionics project,” Sensitive, 2009.
[23]
Y. Bertot and P. Casteran, Interactive Theorem Proving and Program Development. Interactive theorem proving and program development. Coq'Art: The Calculus of inductive constructions, 2004.
[24]
X. Leroy, “The compcert c verified compiler: Documentation and user's manual,” Inria, vol. 16, no. 5, p. 563576, 2015.
[25]
Y. Wang., P. Wilke., and Z. Shao., “An abstract stack based approach to verified compositional compilation to machine code,” ACM on Programming Languages, vol. 3, p. 30, 2019.
[26]
Y. Wang, X. Xu, P. Wilke, and Z. Shao, “Compcertelf: Verifjed separate compilation of c programs into elf object files,” p. 28, November 2020.
[27]
H. Jiang, H. Liang, S. Xiao, J. Zha, and X. Feng, “Towards certified separate compilation for concurrent programs,” in Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI 2019. New York, NY, USA: Association for Computing Machinery, 2019, p. 111125. [Online]. Available: https://doi.org/10.1145/3314221.3314595
[28]
A. Ericsson, M. Myreen, and J. Pohjola, “A verified generational garbage collector for cakeml,” 08 2017, pp. 444–461.
[29]
R. Kemmerer, “Verification of the ucla security kernel: abstract model, mapping, theorem generation and proof,” 2021.
[30]
R. Gu, J. Koenig, T. Ramananandro, Z. Shao, X. N. Wu, S.-C. Weng, H. Zhang, and Y. Guo, “Deep specifications and certified abstraction layers,” SIGPLAN Not., vol. 50, no. 1, p. 595608, Jan. 2015. [Online]. Available: https://doi.org/10.1145/2775051.2676975
[31]
X. Guo, M. Lesourd, M. Liu, L. Rieg, and Z. Shao, “Integrating formal schedulability analysis into a verified os kernel,” in Computer Aided Verification, I. Dillig and S. Tasiran, Eds. Cham: Springer International Publishing, 2019, pp. 496–514.
[32]
M. Liu, L. Rieg, Z. Shao, R. Gu, D. Costanzo, J.-E. Kim, and M.-K. Yoon, “Virtual timeline: A formal abstraction for verifying preemptive schedulers with temporal isolation,” vol. 4, no. POPL, Dec. 2019. [Online]. Available: https://doi.org/10.1145/3371088
[33]
G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood, “Sel4: Formal verification of an os kernel,” in Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, ser. SOSP ’09. New York, NY, USA: Association for Computing Machinery, 2009, p. 207220. [Online]. Available: https://doi.org/10.1145/1629575.1629596
[34]
S. Peters, A. Danis, K. Elphinstone, and G. Heiser, “For a microkernel, a big lock is fine,” in Proceedings of the 6th Asia-Pacific Workshop on Systems, ser. APSys ’15. New York, NY, USA: Association for Computing Machinery, 2015. [Online]. Available: https://doi.org/10.1145/2797022.2797042
[35]
M. V. Tessin, “The clustered multikernel: An approach to formal verification of multiprocessor os kernels,” ws on systems for future multi, 2012.
[36]
G. Heiser, G. Klein, and J. Andronick, “seL4 in Australia: From research to real-world trustworthy systems,” Communications of the ACM, vol. 63, pp. 72–75, Apr. 2020.
[37]
G. Heiser, T. Murray, and G. Klein, “Towards provable timing-channel prevention,” ACM Operating Systems Review, vol. 54, pp. 1–7, Aug. 2020.
[38]
M. Dahlweid, M. Moskal, T. Santen, S. Tobies, and W. Schulte, “Vcc: Contract-based modular verification of concurrent c,” in 2009 31st International Conference on Software Engineering – Companion Volume, 2009, pp. 429–430.
[39]
D. Leinenbach and T. Santen, “Verifying the microsoft hyper-v hypervisor with vcc,” in FM 2009: Formal Methods, A. Cavalcanti and D. R. Dams, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2009, pp. 806–809.
[40]
M. Moskal, T. Santen, and W. Schulte, “Vcc: A practical system for verifying concurrent c,” in Theorem Proving in Higher Order Logics, 22nd International Conference, TPHOLs 2009, ser. Lecture Notes in Computer Science, vol. 5674. Springer, January 2009, pp. 23–42.
[41]
H. Liang, X. Feng, and M. Fu, “Rely-guarantee-based simulation for compositional verification of concurrent program transformations,” ACM Trans. Program. Lang. Syst., vol. 36, no. 1, Mar. 2014. [Online]. Available: https://doi.org/10.1145/2576235
[42]
F. Xu, M. Fu, X. Feng, X. Zhang, H. Zhang, and Z. Li, “A practical verification framework for preemptive os kernels,” in Computer Aided Verification, S. Chaudhuri and A. Farzan, Eds. Cham: Springer International Publishing, 2016, pp. 59–79.
[43]
Ji-Yong Shin, Jieung Kim and Z. Shao, “Wormspace: A modular foundation for simple, verifiable distributed systems,” in ACM Symposium on Cloud Computing (SoCC 19), New York, NY, USA, Novermber 2019. [Online]. Available: https://doi.org/10.1145/3357223.3362739
[44]
J.-Y. S. Wolf Honor, Jieung Kim and Z. Shao, “Much ado about failures: A fault-aware model for compositional verifjcation of strongly consistent distributed systems,” in Proc. ACM Program. Lang, 2021. [Online]. Available: https://doi.org/10.1145/3485474
[45]
J. Koenig and Z. Shao, “Refinement-based game semantics for certified abstraction layers,” in Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science, ser. LICS ’20. New York, NY, USA: Association for Computing Machinery, 2020, p. 633-647. [Online]. Available: https://doi.org/10.1145/3373718.3394799
[46]
Z. Yang, H. Lei, and W. Qian, “A hybrid formal verification system in coq for ensuring the reliability and security of ethereum-based service smart contracts,” IEEE Access, vol. 8, pp. 21 411–21 436, 2020.
[47]
Z. Yang and H. Lei, “Optimization of executable formal interpreters developed in higher-order logic theorem proving systems,” IEEE Access, vol. 6, pp. 70 331–70 348, 2018.
[48]
Wadler and Philip, “Propositions as types,” Communications of the Acm, vol. 58, no. 12, 2015.
[49]
I. Sergey, A. Kumar, and A. Hobor, “Scilla: a Smart Contract Intermediate-Level LAnguage,” arXiv e-prints, p. arXiv:1801.00687, Jan. 2018.
[50]
R. O'Connor, “Simplicity: A New Language for Blockchains,” arXiv e-prints, p. arXiv:1711.03028, Nov. 2017.
[51]
K. Bhargavan, A. Delignat-Lavaud, C. Fournet, A. Gollamudi, G. Gonthier, N. Kobeissi, N. Kulatova, A. Rastogi, T. Sibut-Pinote, N. Swamy, and S. Zanella-B´eguelin, “Formal Verification of Smart Contracts: Short Paper,” in ACM Workshop on Programming Languages and Analysis for Security, Vienna, Austria, Oct. 2016. [Online]. Available: https://hal.inria.fr/hal-01400469

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PRIS '23: Proceedings of the 2023 5th International Conference on Pattern Recognition and Intelligent Systems
July 2023
123 pages
ISBN:9781450399968
DOI:10.1145/3609703
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 August 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Formal verification
  2. Operating systems
  3. power monitoring system

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • State Grid Corporation of China Headquarters Management Technology Project

Conference

PRIS 2023

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 55
    Total Downloads
  • Downloads (Last 12 months)51
  • Downloads (Last 6 weeks)4
Reflects downloads up to 09 Sep 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media