Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1133373.1133418acmotherconferencesArticle/Chapter ViewAbstractPublication PagesewConference Proceedingsconference-collections
Article

Model checking system software with CMC

Published: 01 July 2002 Publication History
  • Get Citation Alerts
  • Abstract

    Complex systems have errors that involve mishandled corner cases in intricate sequences of events. Conventional testing techniques usually miss these errors. In recent years, formal verification techniques such as [5] have gained popularity in checking a property in all possible behaviors of a system. However, such techniques involve generating an abstract model of the system. Such an abstraction process is unreliable, difficult and miss a lot of implementation errors.CMC is a framework for model checking a broad class of software written in the C programming language. CMC runs the software implementation directly without deriving an abstract model of the code. We used CMC to model check an existing implementation of AODV (Ad Hoc On Demand Distance Vector) routing protocol and found a total of 29 bugs in two implementations [7],[6] of the protocol. One of them is a bug in the actual specification of the AODV protocol [3]. We also used CMC on the IP Fragmentation module in the Linux TCP/IPv4 stack and verified its correctness for up to 4 fragments per packet.

    References

    [1]
    B. Beizer. Software Testing Techniques. Van Nostrand Reinhold, 1990.
    [2]
    E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.
    [3]
    C. Perkins, E. Royer, and S. Das. Ad Hoc On Demand Distance Vector (AODV) Routing. IETF Draft, http://www.ietf.org/internetdrafts/draft-ietf-manet-aodv-10.txt, January 2002.
    [4]
    P. Godefroid. Model Checking for Programming Languages using VeriSoft. In Proceedings of the 24th ACM Symposium on Principles of Programming Languages, 1997.
    [5]
    Gerard J. Holzmann. The model checker SPIN. Software Engineering, 23(5):279--295, 1997.
    [6]
    Luke Klein-Berndt and et. al. Kernel AODV Implementation. http://w3.antd.nist/gov/wctg/aodv_kernel/.
    [7]
    F. Lilieblad and et al. Mad-hoc AODV Implementation. http://mad-hoc.flyinglinux.net/.
    [8]
    Charles E. Perkins, Elizabeth M. Royer, and Samir R. Das. Private Email Communication.
    [9]
    J. Postel. Internet Protocol. RFC 791, USC/Information Sciences Institute, September 1981.
    [10]
    U. Stern and D. L. Dill. A New Scheme for Memory-Efficient Probabilistic Verification. In IFIP TC6/WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols, and Protocol Specification, Testing, and Verification, 1996.

    Cited By

    View all
    • (2021)Model-Checking Support for File System DevelopmentProceedings of the 13th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3465332.3470878(103-110)Online publication date: 27-Jul-2021
    • (2008)Verification of C++ Flight Software with the MCP Model Checker2008 IEEE Aerospace Conference10.1109/AERO.2008.4526577(1-9)Online publication date: Mar-2008

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    EW 10: Proceedings of the 10th workshop on ACM SIGOPS European workshop
    July 2002
    258 pages
    ISBN:9781450378062
    DOI:10.1145/1133373
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 July 2002

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 37 of 37 submissions, 100%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 29 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Model-Checking Support for File System DevelopmentProceedings of the 13th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3465332.3470878(103-110)Online publication date: 27-Jul-2021
    • (2008)Verification of C++ Flight Software with the MCP Model Checker2008 IEEE Aerospace Conference10.1109/AERO.2008.4526577(1-9)Online publication date: Mar-2008

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media