CpSc 873
Verification and Validation
Name
____________________________________
There are 5 questions. Answer any 4 of them. Answer all
parts of the questions you select. 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 class
handouts, sources pointed to in the slides, and your notes. Nothing
else and no one else. No laptops, no sharing notes or handouts. You have
75 minutes, from 12:30 pm until 1:45 pm.
-
- The “assume”
and “guarantee” keywords in AGREE are used to define a contract. Why in a
safety critical system must we still design a module interface defensively
even if a contract is defined?
- How
does model checking go beyond testing?
- In
what specific ways is a software inspection similar to software testing?
- All
the notations for requirements we used allowed a hierarchy of
requirements. What is different from one level in the hierarchy to the
next? What is the benefit of doing this hierarchy?
a.
Because there are tools that check the design for the
guarantee but no tools for the code-a nefarious programmer may violate the
contract
b.
Model checking checks every path not just selected paths
c.
The scenarios used in an inspection are translated into
test cases during testing; coverage metrics talk about parts of the system
inspected/tested
d.
The level of detail goes down as you move up a hierarchy
and increases as you move down. It guides stakeholders from an abstract
understanding of the system to a more concrete understanding as you go down.
-
- AADL
provides a rigorous semantics for modeling. Explain what the complete
definition of a port provides that can be used in verifying the
correctness of an AADL model.
- AADL
and supporting annexes and languages enhance traceability. Give two
specific ways (syntactic elements) that facilitate traceability (don’t
worry about exact spelling of the syntax).
- Team
A produces software with an average defect
density of 3.5 defects/KLOC while team B produces with an average of
4.7defects/KLOC. Give at least two reasons why team B might be better
than team A.
a.
A category for the information flowing through (data,
event or both), a direction for the flow, and an exact type name
b.
The “see goal” and requirements list in reqspec requirements; the extends relationship between
requirements
c.
The complexity of team B’s component might be greater;
the component might be less cohesive
-
- Using
the CACC give a specific example of fault, error, and failure.
- The
feedback control loop architecture pattern is for embedded control
systems. Give a fault model for the pattern with at least 5 faults.
- What
techniques do we have for identifying hazards? What techniques do we have
for documenting them?
- How
is “coverage” determined when evaluating an
architecture?
- Fault - The design might
specify that the gap between cars be checked for being less than but not
for being equal to the commanded gap; Error – car generates “too close”
alert late; failure – the driver has to brake harder than usual
- 1. Sensor mis-calibrated; 2. Sensor activates at wrong time; 3.
Activator mis-calibrated; 4. Control model does
not match controlled process; 5. Controlled model does not behave as
assumed
- Recognizing exceptional
conditions; hazard record in Error Model
- Which elements of the
architecture is traced through for the set of analyzed scenarios
-
- The ATAM
identifies more scenarios than can be reasonably handled in a session.
Explain the process for determining which scenarios to evaluate.
- Give
two faults that might be present in the CACC model. Explain how they
would be in different categories in an orthogonal defect classification.
- How
does the assurance case make use of the V&V process?
- How
is a product requirement different from a stakeholder goal?
a.
Use priority
voting scheme in which the number of votes are assigned based on a criteria such as rank or position
b.
Fault in a behavior state machine and fault in
synchronization among threads sharing data – thread synchronization depends on
the design of timing while the behavior in the state machine is about sequence
rather than timing
c.
The assurance case uses the verification results as
evidence concerning claims in the assurance case
d.
The product requirement is more narrowly focused
-
- What
verification actions are no longer necessary if we create an interface
contract and we trust the maturity of the other developers?
- Select
two modules in the CACC. Assign them levels of integrity. Explain why you
gave the value you gave.
- Give
one property that is traded off against testability during the design
phase. What can be done to the design to enhance testability?
- What
does the error modeling in the architecture give to the tester?
- Checking pre-conditions
- Sensor – 4; gps – 2; The
driver relies on information from both but if a sensor misses an obstacle
the result could be a crash while
the gps failure may simply get the driver lost
- Flexibility – giving greater
access to the test code will allow additional tests to exam unexplored
areas
- A roadmap for writing
negative tests