exam1 Flashcards

1
Q

generate a set of directed acyclic graphs

A

Korat has the capability of systematically generating

nonisomorphic linked structures

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

encrypted string testing

A

fuzzing, strings look like randomly generated strings

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

API testing

A

feedback-directed test like Randoop

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

threaded function testing

A

Cuzz can introduce sleep calls to emulate different assignments of activity to test for concurrency bugs.

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

syntactic parser in a compiler testing

A

normal fuzzing won’t work, since parser would need to be streams of lexical tokens. Randomly generating streams of lexical tokens for use in unit testing would be a workable solution.

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

dynamic analysis is complete

A

it generates no false positives (spurious errors). All the errors found by dynamic analysis are actually real errors, therefore, it is complete. However, it is not guaranteed to find all the errors in the program, which is why it is unsound.

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

dataflow analysis sacrifices completeness

A
  • sounds: report all facts that could occur in actual runs
  • incomplete: may report additional facts that can’t occur in actual runs
  • dataflow analysis is a static analysis
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

static analysis is sound, but incomplete. Dynamic analysis is complete, but not sound

A

True

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

a sound program

A

accept the set of programs subsets of the set of safe programs

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

If A and B are sound analyses, A is at least as precise as B means

A

whenever B accepts a program, A also accepts that program (aka. B is an subset of A or A>=B)

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

Statement coverage

A

every line of a code (statement) is touched

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

Branch coverage

A

every “if-statment” as two branches

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

Path coverage

A

(visualize the code in a form of a binary tree)
it cares how to get to a certain place in the code. For example, a while loop runs 2 times is different than the while loop that runs 5 times, but they are still possibly the same branch. In many cases, it’s impossible to test all paths

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

a mutant to be equivalent

A

if it produces the same output as P on all test cases

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

the goal of mutation testing

A

try to find mutants of P which fail tests in the suite

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