


















































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: CIS-TOPICS; Subject: Computer & Information Science; University: University of Pennsylvania; Term: Fall 2004;
Typology: Study notes
1 / 58
This page cannot be seen from the preview
Don't miss anything!



















































Modeling language
:
CCS, CSP, Kripke^ Verification
:
Model Checking
Language: Java, C, C++, etc.. Verification
:
Formal Test Generation
Language
: CTL
Program
Verifier
ExecutionInformation
Check
Sat / Unsat
Feedback
User
JPaX: Java PathExplorer Klaus Havelund Grigore Rosu (NASA) [HR01, HR04]
Checks the execution of
Java
program
|^
Extracts interesting events from an executingprogram |^
Checks those events^ z^
Deadlock • Data race
Observer (Checking)
Interconnection
|^
Given^ z^
Java bytecode z Instrumentation specification |^
To extract^ z^
Examine java bytecode z Insert some code at places specifiedinstrumentation specification^ • Logic based / error pattern analysis z Send this info to the observer
class C {int x;main() {
x = -1;eval(x,-1);x = -2;eval(x,-2);x = 1;eval(x,1);x = -3;eval(x,-3); }^
}
instrumentation:monitor C.x;proposition A is C.x > 0
Send(A)
Send(A)
Send(A,false)
true
A^
false
false
X = -
X = -
X = 1
X = -
Sent to observer:[ (A,false), A, A ]
What
eval(x,value)
does
z^ Look at all propositions
P^
corresponding to
variable
x
z^ Evaluate the value of
P^
(true, false)
P^
has no value,
z^ Else
|^
Send extracted info^ z^
From the java program
to the observer
z^ Via socket, shared memory, file |^
Extraced Info^ z^
Event stream
|^
Similar to Kripke structure |^
Kripke |^
Event Stream (Trace)
N^ ,N^1
2
T,N^1
2
N^ ,T^1
2
!A^
A^
!A
[ (A,false), A, A ]