Download presentation
Presentation is loading. Please wait.
Published byJeremy Poole Modified over 9 years ago
1
Dynamic Program Analysis Klaus Havelund Kestrel Technology NASA Ames Research Center Motivation for writing specs: Instant gratification
2
Static and Dynamic Analysis Program Specification InputOutput Test case generationRuntime verification Program instrumentation ?
3
Property language power Scalability Coverage Of course … it is not Ideal
4
Runtime Verification Specification-based monitoring Algorithm-based monitoring For test For fault protection
5
Pre/post conditions, invariants: Eiffel, JML, Java’s assert. Temporal logic: Temporal Rover, MAC Real-time properties: Timed Automata Quantified temporal logic: Sipma+Finkbeiner Statecharts: TLChart Process algebra: Jass Regular expressions: Rosu, MAC Wide spectrum: Spec#, VDM Embed in for example RWL: LTL in Maude (JPAX) Combining logics into one notation : MAC, TLChart, Eagle Specification-Based monitoring. Problem is to choose a specification language
6
Eagle Three temporal connectives: Next: @F Previous: #F Concatenation: F 1 ;F 2 Recursive parameterized rules over trace Even(Term t) = t \/ @Even(t). Ktimes(int k, Term t) = k>0 -> (t /\ # Ktimes(t-1,t)). @F#F now
7
Memory leaks: Purify. Low level data races and deadlocks: Visual Threads, JProbe, JPAX. High level data races: Stoller, Flanagan, JPAX. Algorithm-Based monitoring. Problem is to classify errors
8
Program Instrumentation Problem is reducing overhead Aspect Oriented Programming: AspectJ, AspectC, AspectC++, MOP Object code/byte code instr.: Java: BCEL, Jtrek, jContractor, jMonitor Others: Valgrind
9
But Properties are Hard to Formulate To quote quite excellent NASA software engineer when asked what properties his system would have to satisfy: “I have absolutely no! idea what properties this system should satisfy”.
10
Specification Generation Inferring invariants: DAIKON Inferring temporal properties: Yang + Evans
11
Static and Dynamic Analysis Static analysis can reduce instrumentation overhead. Dynamic analysis functions as fall back position for properties that cannot be proven statically.
12
Two Recently Created Workshop Series RV Workshop On Runtime Verification http://react.cs.uni-sb.de/rv2005 WODA Workshop On Dynamic Analysis http://www.csd.uwo.ca/woda2005
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.