• DocumentCode
    2264797
  • Title

    Formal methods: a practical tool for OS implementors

  • Author

    Tullmann, Patrick ; Turner, Jeff ; McCorquodale, John ; Lepreau, Jay ; Chitturi, Ajay ; Back, Godmar

  • Author_Institution
    Dept. of Comput. Sci., Utah Univ., Salt Lake City, UT, USA
  • fYear
    1997
  • fDate
    5-6 May 1997
  • Firstpage
    20
  • Lastpage
    25
  • Abstract
    The formal methods community has long known about the need to formally analyze concurrent software, but the operating systems (OS) community has been slow to adopt such methods. The foremost reasons for this are the cultural and knowledge gaps between formalists and OS hackers, fostered by three beliefs: inaccessibility of the tools, the disabling gap between the validated model and actual implementation, and the intractable size of OSs. In this paper, we show these beliefs to be untrue for appropriately structured OSs. We applied formal methods to verify properties of the implementation of the Fluke microkernel´s IPC (interprocess communication) subsystem, a major component of the kernel. In particular, we have verified, in many scenarios, certain liveness properties and lack of deadlock, with results that apply to both SMP (scalable multiprocessor) and uniprocessor environments. The SPIN model checker provided an exhaustive concurrency analysis of the IPC subsystem, unattainable through traditional OS testing methods. SPIN is easily accessible to programmers inexperienced with formal methods. We present our results as a starting point for a more comprehensive inclusion of formal methods in practical OS development
  • Keywords
    formal specification; multiprocessing programs; operating system kernels; operating systems (computers); program verification; Fluke microkernel; IPC subsystem; SPIN model checker; concurrent software analysis; cultural gap; deadlock; exhaustive concurrency analysis; formal methods; hackers; interprocess communication subsystem; knowledge gap; liveness property verification; operating systems implementation; program size; scalable multiprocessor environments; tool inaccessibility; uniprocessor environments; validated model; Cities and towns; Computer hacking; Computer science; Cultural differences; Global communication; Kernel; Operating systems; Programming profession; System recovery; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Operating Systems, 1997., The Sixth Workshop on Hot Topics in
  • Conference_Location
    Cape Cod, MA
  • Print_ISBN
    0-8186-7834-8
  • Type

    conf

  • DOI
    10.1109/HOTOS.1997.595176
  • Filename
    595176