--%>

Explain Program Design Guidelines for Model Checking

Program Design Guidelines for Model Checking: Most of the significant software development projects use some kind of design and coding guidelines. There exist many such guidelines, some including tens or even hundreds of rules covering almost all aspects of development—from the use of white spaces, naming conventions, and comments to recommendations on what specific language features to use or avoid (MISRA 2004; Meyers 2005; Sutter 1999; Sutter 2004). The choice of language and also the type of application that is developed obviously play an important part in the set of rules that are applicable in practice. Some rules may contradict or be inconsistent with other rules within the same guideline document. Therefore developers are often forced to follow some of the rules and ignore others. With no automated checking of compliance, many violations of these guidelines often go unnoticed.

There does not seem to be a consensus on what makes a good guideline in common. Even less obvious is the effect of some of these guidelines on software verifiability. (Holzmann 2006) proposes 10 rules that could have measurable effect on software reliability and verifiability. He argues that although the proposed small set of rules cannot be all-encompassing, setting an upper bound can increase the effectiveness of the guideline. In this section we describe a number of recommended design and coding guidelines which can be used effectively to tame the state explosion problem and also to decrease the amount of effort that is needed to use a model checker to verify properties of interest.

   Related Questions in Science

  • Q : Describe publish or subscribe model

    Publish/subscribe model: This is an approach to distributed system communication wherein publishers publish information to a subject address & subscribers subscribe to information at subject address. This model has the benefit of making publishers

  • Q : Types of CMS Normal 0 false false false

    Normal 0 false false

  • Q : Define Internment camps Internment

    Internment camps: The Japanese living in the US were removed from their houses and were put into internment camps. The number was around 120,000. The reason given was that there was a danger of being spy, informing Japan about USA moves. Almost all ca

  • Q : Write an AWK program Write an AWK

    Write an AWK program which takes the following input _le and processes it. $cat data.txt John Do 111-1111 English 90 Maths 80 Alice Do 222-2222 English 90 Maths 90 Chemistry 93 The input _le has _rst 3 _elds _xed as _rst name, last name, and student id. After the s

  • Q : Speed of microprocessor Normal 0 false

    Normal 0 false false

  • Q : Describe cache memory Normal 0 false

    Normal 0 false false

  • Q : Explanation of intra-specific and

    Give a brief explanation of intra-specific and inter-specific ecological interactions.

  • Q : State Structural Heuristics Structural

    Structural Heuristics: Structural coverage measures can be used during directed model checking to improve the state space coverage (Groce and Visser 2002). Rather than looking for a particular error, it may be best to try and explore the structure of

  • Q : Liveness Properties-Software Lifecycle

    Liveness Properties: A liveness property asserts that something good eventually happens, and is used mainly to ensure progress. Liveness properties prevent: starvation: Processes not getting the resources they need (e.g., CPU time, lock

  • Q : Sticky bit permissions Normal 0 false

    Normal 0 false false