• DocumentCode
    899653
  • Title

    Intelligent Systems and Formal Methods in Software Engineering

  • Author

    Beckert, Bernhard ; Hoare, Tony ; Hähnle, Reiner ; Smith, Douglas R. ; Green, Cordell ; Ranise, Silvio ; Tinelli, Cesare ; Ball, Thomas ; Rajamani, Sriram K.

  • Author_Institution
    Univ. of Koblenz
  • Volume
    21
  • Issue
    6
  • fYear
    2006
  • Firstpage
    71
  • Lastpage
    81
  • Abstract
    Over the last few years, technologies for the formal description, construction, analysis, and validation of software - based mostly on logics and formal reasoning - have matured. We can expect them to complement and partly replace traditional software engineering methods in the future. Formal methods in software engineering are an increasingly important application area for intelligent systems. The field has outgrown the area of academic case studies, and industry is showing serious interest. We convincingly argue that we´ve reached the point where we can solve the problem of how to formally verify industrial-scale software. We propose program verification as a computer science Grand Challenge. Deductive software verification is a core technology of formal methods. We describe recent dramatic changes in the way it´s perceived and used. Another important base technique of formal methods, besides software verification, is synthesizing software that´s correct by construction because it´s formally derived from its specification. We discuss recent developments and trends in this area. Surprisingly efficient decision procedures for the satisfiability modulo theories problem have recently emerged. We explain these techniques and why they´re important for all formal-methods tools. We look at formal methods from an industry perspective. We explain the success of Microsoft Research´s SLAM project, which has developed a verification tool for device drivers
  • Keywords
    formal logic; formal specification; inference mechanisms; knowledge based systems; program verification; software tools; Microsoft Research SLAM project; decision procedure; deductive software verification; device driver; formal logic; formal method; formal reasoning; formal software description; industrial-scale formal software verification; intelligent system; program verification; satisfiability modulo theories problem; software analysis; software construction; software engineering; software specification; software synthesis; software validation; verification tool; Application software; Computer errors; Computer science; Costs; Energy management; Financial management; Humans; Intelligent systems; Programming profession; Software engineering; deductive software verification; formal methods; program verification; satisfiability modulo theories; software engineering; software synthesis;
  • fLanguage
    English
  • Journal_Title
    Intelligent Systems, IEEE
  • Publisher
    ieee
  • ISSN
    1541-1672
  • Type

    jour

  • DOI
    10.1109/MIS.2006.117
  • Filename
    4042539