Verification of non-functional programs using interpretations in type theory

被引:48
|
作者
Filliâtre, JC [1 ]
机构
[1] Univ Paris 11, LRI, F-91405 Orsay, France
关键词
D O I
10.1017/S095679680200446X
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We study the problem of certifying programs combining imperative and functional features within the general framework of type theory. Type theory is a powerful specification language which is naturally suited for the proof of purely functional programs. To deal with imperative programs, we propose a logical interpretation of an annotated program as a partial proof of its specification. The construction of the corresponding partial proof term is based on a static analysis of the effects of the program which excludes aliases. The missing subterms in the partial proof term are seen as proof obligations, whose actual proofs are left to the user. We show that the validity of those proof obligations implies the total correctness of the program. This work has been implemented in the Coq proof assistant. It appears as a tactic taking an annotated program as argument and generating a set of proof obligations. Several nontrivial algorithms have been certified using this tactic.
引用
收藏
页码:709 / 745
页数:37
相关论文
共 50 条
  • [21] On non-functional requirements
    Glinz, Martin
    [J]. 15TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE, PROCEEDINGS, 2007, : 21 - +
  • [22] Category Theory Framework for Variability Models with Non-functional Requirements
    Munoz, Daniel-Jesus
    Gurov, Dilian
    Pinto, Monica
    Fuentes, Lidia
    [J]. ADVANCED INFORMATION SYSTEMS ENGINEERING (CAISE 2021), 2021, 12751 : 397 - 413
  • [23] NON-FUNCTIONAL STEREOTAXY
    BACKLUND, EO
    [J]. ACTA NEUROLOGICA SCANDINAVICA, 1985, 72 (01): : 75 - 75
  • [24] Non-functional computing: Towards a more scientific treatment to non-functional requirements
    Cai, Kai-Yuan
    [J]. COMPSAC 2007: THE THIRTY-FIRST ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL II, PROCEEDINGS, 2007, : 493 - 494
  • [25] Browsing a component library using non-functional information
    Franch, X
    Pinyol, J
    Vancells, J
    [J]. RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE' 99, 1999, 1622 : 332 - 343
  • [26] Reflux esophagitis, functional and non-functional
    Bor, Serhat
    [J]. BEST PRACTICE & RESEARCH CLINICAL GASTROENTEROLOGY, 2019, 40-41
  • [27] Non-Functional Requirement Extraction by using Conceptual Graphs
    Luangwiriya, Taweewat
    Kongkachandra, Rachada
    [J]. 2021 18TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING (JCSSE-2021), 2021,
  • [28] Including non-functional issues in Anna/Ada programs for automatic implementation selection
    Franch, X
    [J]. RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE '97, 1997, 1251 : 88 - 99
  • [29] A FRAMEWORK FOR MANAGING COMPONENTS USING NON-FUNCTIONAL PROPERTIES
    Hufflen, Jean-Michel
    [J]. KEOD 2009: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON KNOWLEDGE ENGINEERING AND ONTOLOGY DEVELOPMENT, 2009, : 460 - 463
  • [30] Assembling Components using SysML with Non-Functional Requirements
    Chouali, Samir
    Hammad, Ahmed
    Mountassir, Hassan
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2013, 295 : 31 - 47