Skip navigation

I’m tidying up my bedroom / study and am finding lots of random notes so I’m gonna type them here so I can bin some of the paper that’s taking over my room.

Here are some notes I took on the topic of verification and validation in dependable systems for an essay in the Software Dependability module:

  • Verification can be summed up by the question: “Are we building the product right?” (Boehm, 1979)
  • Verification involves checking that the software conforms to its specification
  • Level of confidence is high for safety-critical systems
  • Testing is a dynamic technique of verification and validation (Sommerville P. 517)
  • Cannot use static v&v techniques to check performance and reliability of a system
  • Identify dependencies between components and test associated with each component
  • V&V is expensive process
  • As a general rule the more critical a system, the more effort should be devoteded to static verification techniques
  • Software inspection is far more effective than program testing. It is widely used method for program verfication, especially in critical systems engineering
  • Static analysis is ‘examing the program without executing it’. Very good for critical systems, discovers large number of potential erros.
  • Modern languages reduce errors by including error-avoidance features
  • Formal verification methods mostly confined to safety & security – critical software development process. UK defence mandated in 1995. Implementation errors will not compromise dependability
  • Testing is a process intended to build confidence in the software as identified in ‘Testing can only show the prescence of errors, not their absence’.
  • Individual testers form part of a more formal process of testing for critical systems testing. Tests are separate and detailed records are maintained of the results
  • ‘Stress testing is particulary relevant to distributed systems based on a network of processors. These systems often exhibit service degradation when they are heavily loaded. The network becomes swamped with coordination data that the different processes must exchange, so the processes become slower and slower as they wait for the required data from other processes.’
  • Reasons for doing verification on critical systems is cost of failure and prove system is safe by certification
  • Statistical testing assesses a system’s reliability
  • What are the most common faults? Are these the parts of the system that are used most often?
  • Should reliability / dependability of a system be met at whatever cost? If a failure amounts to more cost than the v&v then yes.
  • It is important to predict reliability of a system to show if the required amount of reliability will be met
  • Software itself is not dangerous, only when embedded in large computer based or socio-techinical system
  • Maintenance of dependable (critical) systems must be easy to carry out otherwise safety issues arise and are harder to fix
  • Diversification plays an important role in security. Look at MS, if security is breached in a windows system then huge number of machines are vulnerable

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: