Pinnacles of software engineering: 25 years of formal methods

被引:6
|
作者
Bjorner, D [1 ]
机构
[1] Tech Univ Denmark, Dept Comp Sci & Technol, DK-2800 Lyngby, Denmark
关键词
D O I
10.1023/A:1018983515535
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this invited paper we review 25 years of propagating formal specification in software engineering. We will do so through outlining a paradigmatic approach to the practice of software engineering. For the sake of contrasting argument we shall claim that this approach stands in sharp contrast to classical engineering - and that there is little help to be obtained from classical engineering in securing the quality of the most important facets of software engineering! We shall be outlining a software engineering(1) practice in which formal techniques are applied in capturing the application domain void of any reference to requirements let alone software; and in then capturing requirements: Domain requirements (projected, instantiated, possibly extended and usually initialised from domain descriptions), interface requirements and machine requirements. The software engineering practice then goes on to design the software: First the architecture, then the program structure, etc. Throughout abstraction and modelling, hand-in-hand, are used in applicative (functional), imperative and process oriented descriptions, from loose specifications towards concrete, instantiated descriptions, using hierarchical as well as configurational modelling, denotational as well as computational modelling, and in structuring even small scale descriptions using appropriate modularisation concepts: Schemes, classes and objects. All the concepts spelled in this font are software engineering "program" description notions that have been honed over the years, starting in 1973 with VDM [Bekic et al. 1974; Bjorner and Jones 1978, 1982b] and continuing with RAISE [Group 1992, 1995]. The current status of our approach to software engineering, based on extensive, but not exclusive use of formal techniques, developed significantly during my years as UN Director of the UN University's International Institute for Software Technology (UNU/IIST) in Macau, 1992-1997. Many large scale software developments based on the domain/requirements/software design paradigm outlined here were systematically applied to the experimental development of software designs for the computing support of a number of diverse infrastructure components(2). Special boxes, scattered throughout the text, highlight 'pinnacle' contribution by named computer and computing scientists as well as by specific R&D projects.
引用
收藏
页码:11 / 66
页数:56
相关论文
共 50 条
  • [1] Software engineering and formal methods
    Hinchey, Mike
    Jackson, Michael
    Cousot, Patrick
    Cook, Byron
    Bowen, Jonathan P.
    Margaria, Tiziana
    [J]. COMMUNICATIONS OF THE ACM, 2008, 51 (09) : 54 - 59
  • [2] Software engineering and formal methods
    Aichernig, Bernhard
    Beckert, Bernhard
    [J]. SOFTWARE AND SYSTEMS MODELING, 2008, 7 (03): : 255 - 256
  • [3] Software engineering and formal methods
    Bernhard Aichernig
    Bernhard Beckert
    [J]. Software & Systems Modeling, 2008, 7 : 255 - 256
  • [4] Formal Methods and Software Engineering
    Serna Montoya, Edgar
    [J]. REVISTA VIRTUAL UNIVERSIDAD CATOLICA DEL NORTE, 2010, 30 : 158 - 184
  • [5] FORMAL METHODS IN SOFTWARE ENGINEERING
    LEVESON, NG
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1990, 16 (09) : 929 - 931
  • [6] Methods and tools for formal software engineering
    Liu, Zhiming
    Venkatesh, R.
    [J]. VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2008, 4171 : 31 - +
  • [7] Teaching of Formal Methods for Software Engineering
    Spichkova, Maria
    Zamansky, Anna
    [J]. ENASE: PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL SOFTWARE APPROACHES TO SOFTWARE ENGINEERING, 2016, : 370 - 376
  • [8] EDUCATION IN FORMAL METHODS FOR SOFTWARE ENGINEERING
    WORDSWORTH, J
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 1987, 29 (01) : 27 - 32
  • [9] Formal methods integration in software engineering
    Perseil, Isabelle
    Pautet, Laurent
    [J]. INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2010, 6 (1-2) : 5 - 11
  • [10] SEFM: software engineering and formal methods
    Gilles Barthe
    Alberto Pardo
    Gerardo Schneider
    [J]. Software & Systems Modeling, 2015, 14 : 3 - 4