Maintaining verified software

被引:0
|
作者
Leslie-Hurd, Joe [1 ]
机构
[1] Intel Corp., United States
来源
ACM SIGPLAN Notices | 2014年 / 48卷 / 12期
关键词
Analysis tools - Case-studies - Dependency analysis - Functional correctness - Functional specification - Haskell - High order logic - Mechanized proofs - Semantics Information;
D O I
10.1145/2578854.2503787
中图分类号
学科分类号
摘要
Maintaining software in the face of evolving dependencies is a challenging problem, and in addition to good release practices there is a need for automatic dependency analysis tools to avoid errors creeping in. Verified software reveals more semantic information in the form of mechanized proofs of functional specifications, and this can be used for dependency analysis. In this paper we present a scheme for automatic dependency analysis of verified software, which for each program checks that the collection of installed libraries is sufficient to guarantee its functional correctness. We illustrate the scheme with a case study of Haskell packages verified in higher order logic. The dependency analysis reduces the burden of maintaining verified Haskell packages by automatically computing version ranges for the packages they depend on, such that any combination provides the functionality required for correct operation.
引用
收藏
页码:71 / 80
相关论文
共 50 条
  • [31] Maintaining the health of software monitors
    Person, Suzette
    Rungta, Neha
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2013, 9 (04) : 257 - 269
  • [32] Maintaining enterprise software applications
    Mookerjee, R
    COMMUNICATIONS OF THE ACM, 2005, 48 (11) : 75 - 79
  • [33] Maintaining Reusable Software Components
    Omer, Nabeel
    Jha, Shambhu Kumar
    Khatri, Sunil Kumar
    PROCEEDINGS OF THE 2019 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND CONTROL SYSTEMS (ICCS), 2019, : 1350 - 1352
  • [34] Customization of Software for an Unprepared Environment and Maintaining Software Stability
    Omanovic, Samir
    Buza, Emir
    2016 XI INTERNATIONAL SYMPOSIUM ON TELECOMMUNICATIONS (BIHTEL), 2016,
  • [35] QED at Large: A Survey of Engineering of Formally Verified Software
    Ringer, Talia
    Palmskog, Karl
    Sergey, Ilya
    Gligoric, Milos
    Tatlock, Zachary
    FOUNDATIONS AND TRENDS IN PROGRAMMING LANGUAGES, 2019, 5 (2-3): : 102 - 281
  • [36] Compiling Sandboxes: Formally Verified Software Fault Isolation
    Besson, Frederic
    Blazy, Sandrine
    Dang, Alexandre
    Jensen, Thomas
    Wilke, Pierre
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2019: 28TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2019, 11423 : 499 - 524
  • [37] The verified software repository: a step towards the verifying compiler
    Bicarregui, J. C.
    Hoare, C. A. R.
    Woodcock, J. C. P.
    FORMAL ASPECTS OF COMPUTING, 2006, 18 (02) : 143 - 151
  • [38] The verified software challenge: A call for a holistic approach to reliability
    Ball, Thomas
    VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2008, 4171 : 42 - 48
  • [39] A Fast and Verified Software Stack for Secure Function Evaluation
    Almeida, Jose Bacelar
    Barbosa, Manuel
    Barthe, Gilles
    Dupressoir, Francois
    Gregoire, Benjamin
    Laporte, Vincent
    Pereira, Vitor
    CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 1989 - 2006
  • [40] A Simple, Verified Validator for Software Pipelining (verification pearl)
    Tristan, Jean-Baptiste
    Leroy, Xavier
    ACM SIGPLAN NOTICES, 2010, 45 (01) : 83 - 92