CpSc 873
Verification and Validation
Name
____________________________________
There are 5 questions. Answer any 4 of them. Place a large x of the page containing the question you are not answering. Do NOT answer all 5. If you do I will only count the 4 worst answers.
This is an individual effort. You may use the textbook, class handouts, and your notes. Nothing else and no one else. No laptops, no sharing notes or handouts. You have 75 minutes, from 8 am until 9:15 am.
When you hand in your exam show a pictured ID.
All use cases – this guarantees the system will address all requirements
All states – this guarantees that all configurations of data covered by the state machine are valid
Model checking checks flows through the program but it does not compare those to the requirements. System testing is still required.
The scenarios which are flows
The certifying model checker covers all branches in the tree to be certain but the non-certifying one may prune early
It handles the state explosion by in some cases by decomposing into multiple trees and working in parallel
The models used for Java Pathfinder are the actual source code. No time is wasted translating. This also reduces the possibilities of errors.
JavaPathFinder
uses Choice points to identifying values that would be in different states
Requirements
Guided Inspection – it is appropriate because we have a non-executable model – requirements people who developed the model answer questions about it, inspectors compare the model to the opinion of domain experts; and domain experts are involved to give their opinion
Architecture
Model checking – the modules defined in the architecture interact with other modules due to their independent state machines. Modeling checking determines that the state machines for different modules interact properly – the architects build the model, the V&V person translates into the model checking language (if necessary)
Detailed Design
Model checking – same as above but on the more detailed behavior of threads/processes
Implementation
Unit testing – appropriate because at this level individual units are being defined the unit implementer is also the unit tester
Integration
Integration/system testing – units are being joined together to form larger units and the integrator is also the tester of the new unit
Deployment
System testing – some system tests are rerun to ensure that correct answers are still produced in the new environment.
The assurance case could provide a comparison between a recognized domain model and the requirements to show completeness and correctness.
A scenario based analysis in which the most often encountered security threats are addressed one by one and traced through the architecture to see how they would be detected
The assurance case describes the chain of evidence by starting with activities that ensure correct, complete and consistent requirements and show that at each step V&V activities ensure that the correctness continues.
Guided Inspection provides an
opportunity to establish face validity
Information about concurrency, namely livelock and deadlock. This assures that the computation completes. It is evidence.
The validation is valid for the level of analysis we did. It does not address detail level interactions but is still valid for the architecture.
The VC is based on the annotations. The verifying condition is the claim that the certification certifies.