Week 7 Flashcards

1
Q

What is an LTS with inputs and outputs (Input Output Transition System - IOTS)?

A

An LTS that distinguishes for any given action where it is an input or output of a system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How is an LTS formally defined

A

(S,s0,Li,Lu,->)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How are inputs and outputs distinguished in an LTS with inputs and outputs?

A

Inputs have a ? before whilst outputs have a !

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Do all outputs have to be enabled in every state of an LTS with inputs and outputs?

A

No, all outputs do not have to be enabled in every state.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Do all inputs have to be enabled in every state of an LTS with inputs and outputs?

A

Yes, all inputs ahve to be enabled in every state of an LTS with inputs and outputs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is an implementation under test (IUT)?

A

A system or component being tested, i.e., the actual implementation of the system being evaluated for conformity to certain specifications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

For every implementation under test (IUT) and a test t, there exists an IOTS model mIUT such that:

A

IUT passes t if and only if mIUT passes t

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is conformance of an implementation to a specification (informal answer)?

A

Implementation i conforms to specification s when any behaviour from implementation i is predicted/allowed by specification s.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When is a state s quiescent?

A

If for all outputs and internal transitions, the state does not have a transition defined by them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How is quiescence drawn?

A

As a self-loop with a greek symbol.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the suspension traces starting in a given state s?

A

All of the weak traces starting in that state extended with quiescence too

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the output of a state?

A

All of the different outputs plus quiescence that leave from that state.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Input-Output Conformance - Formal Definition:

i ioco s means:

A

For all suspension traces t of the specification s, the outputs after running t on implementation i are a subset of the outputs after running t on specification s.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a test transition system TTS

A

An LTS used for test generation defined as follows:

Has Labels L U theta, where L are the inputs and outputs of the LTS it tests, and theta represents the quiescence label.

Inputs and outputs have exchanged signs.

Tree structure.

Finite, deterministic.

Final states “pass” and “fail”

From each state that is not a pass or a fail you either have:
- one input !a and all outputs ?x
OR
- all outputs ?x and theta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Test Generation Algorithm

A

To generate a test case t(S) from a transition system specification with S set of states, apply the following steps non-deterministically:

  1. End test case
  2. Supply input
  3. Observe output
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a test run of a TTS on an implementation?

A

The parallel running of a shared suspension trace that either reaches fail or pass in the TTS.

17
Q

What is a test case?

A

An entire test transition system generated by the Test Generation Algorithm.

18
Q

When does an implementation pass a test case?

A

An implementation passes a test case when for all shared suspension traces of the implementation and test test transition system, the test transition system does not reach a fail for any of them.

19
Q

When is a test case t sound?

A

A test case t is sound if it never fails with a correct implementation.

20
Q

What does i ioco s imply in relation to all tests t generated by the Test Generation Algorithm? Consequently, what does i fails t imply in relation to i ioco s?

A

That i passes all of these tests t.

i ioco s does not hold.

21
Q

What is the effect on the soundness of a previously sound test if it is changed from a fail to a pass?

A

It remains sound as it still never fails a correct implementation.

22
Q

What is the effect on the soundness of a previously sound test if it is changed from a pass to a fail?

A

The test may possibly not be sound anymore.

23
Q

When is test generation exhaustive?

A

When each incorrect implementation can be detected with a test.

24
Q

When is a test generation complete?

A

When it is sound and exhaustive.

Thus, a complete test suite finds all bugs.

25
Q

Is test generation with the Test Generation Algorithm complete?

A

It is sound and technically complete, though an infinite number of test cases is needed for exhaustiveness.

26
Q

What is the problem of underspecification for ioco?

A

specification in ioco only considers outputs of suspension traces of specification, but specifications are not input-enabled

27
Q

What is the problem of composition for ioco and how can it be fixed?

A

ioco cannot be used on subcomponents to draw conclusions about entire compositions

this can be fixed by ensuring that specifications are input-enabled

28
Q

What does S refuses L mean, where S is a set of states and L is a set of labels?

A

This means that there exists a state s in S such that for all labels in L including the internal transition, s cannot go anywhere.

29
Q

What are the Utraces of a given state?

A

The set of suspension traces t starting in that state such that for any two combinations of labels including quiescence s1, s2 and an input a, if t=s1as2 then it does not hold that the specification s after label s1 refuses a.

30
Q

i uioco s means

A

For all Utraces u starting in s, the outputs of i after u is a subset of the outputs of s after u.

31
Q

What is the purpose of demonic completion? How does it work?

A

To make specifications input-enabled

Add a special error state and from all states add a a transition to this error state for all non-enabled inputs.

The error state cannot be left.