Download presentation
Presentation is loading. Please wait.
Published byClinton Tucker Modified over 9 years ago
1
Loop Analysis and Repair Nafi Diallo Computer Science NJIT Advisor: Dr. Ali Mili
2
Outline 1. Introduction 2. Progress 3. Prospects 4. Conclusion Introduction Research Progress Proposed work Conclusion Loop Analysis and Repair- RAMICS 20152
3
Loop Analysis and Repair Loop Analysis – Convergence Termination + Absence of Abort – Correctness/Incorrectness Loop Repair – Diagnose/Remove Faults – Verification Loop Analysis and Repair- RAMICS 20153 1. Introduction 2. Progress 3. Prospects 4. Conclusion
4
Definition Loop Analysis and Repair- RAMICS 20154 1. Introduction 2. Progress 3. Prospects 4. Conclusion
5
Definition Loop Analysis and Repair- RAMICS 20155 1. Introduction 2. Progress 3. Prospects 4. Conclusion
6
Invariant Relation Loop Analysis and Repair- RAMICS 20156 1. Introduction 2. Progress 3. Prospects 4. Conclusion
7
Invariant Relations and Invariant Assertions All invariant assertions stem from invariant relations Only a subset of invariant relations can be derived from invariant assertions Invariant Relation Invariant Assertion Inductive Invariant Relation Invariant Assertion Loop Analysis and Repair- RAMICS 20157 1. Introduction 2. Progress 3. Prospects 4. Conclusion R is an invariant relation ν is a vector A is an invariant assertion
8
Convergence: Integrating Abort freedom with Termination Loop Analysis and Repair- RAMICS 20158 1. Introduction 2. Progress 3. Prospects 4. Conclusion
9
Abort-Freedom Invariant Relations Loop Analysis and Repair- RAMICS 20159 1. Introduction 2. Progress 3. Prospects 4. Conclusion
10
Termination: Example Loop Analysis and Repair- RAMICS 201510 1. Introduction 2. Progress 3. Prospects 4. Conclusion
11
Termination: Example Loop Analysis and Repair- RAMICS 201511 1. Introduction 2. Progress 3. Prospects 4. Conclusion
12
Correctness/Incorrectness Loop Analysis and Repair- RAMICS 201512 1. Introduction 2. Progress 3. Prospects 4. Conclusion
13
Algorithm for Verifying Loop Correctness 13 S = S and Termination(w) [CumR = L] More-inv- relation(w)? yes R=get-inv-relation(w) Loop w, Space S, Specification spec Necessary(R,spec) ? Correct OR Incorrect OR Undecided INPUT OUTPUT No yes [CumR=CumR∩R] sufficient(CumR,spec) ? yes No Loop Analysis and Repair- RAMICS 201513 1. Introduction 2. Progress 3. Prospects 4. Conclusion
14
Relative Correctness Loop Analysis and Repair- RAMICS 201514 1. Introduction 2. Progress 3. Prospects 4. Conclusion
15
Relative Correctness Loop Analysis and Repair- RAMICS 201515 1. Introduction 2. Progress 3. Prospects 4. Conclusion
16
Impact of Relative Correctness on Testing Loop Analysis and Repair- RAMICS 201516 1. Introduction 2. Progress 3. Prospects 4. Conclusion
17
Absolute Correctness and Relative Correctness Loop Analysis and Repair- RAMICS 201517 Culminates 1. Introduction 2. Progress 3. Prospects 4. Conclusion
18
A Formal Definition of fault Loop Analysis and Repair- RAMICS 201518 1. Introduction 2. Progress 3. Prospects 4. Conclusion
19
Loop Repair Mutation Testing consists of : – Generating Mutants – Testing Mutants against some sample test data Selecting mutants that pass Rejecting mutants that fail – We argue Selecting mutants that pass is wrong: a mutant may pass the test but still not be more-correct. Rejecting mutants that fail is also wrong: a mutant may fail and still be more-correct. Loop Analysis and Repair- RAMICS 201519 1. Introduction 2. Progress 3. Prospects 4. Conclusion
20
Proving Relative Correctness Traditionally: – static verification techniques applicable only to correct programs; – dynamic testing techniques used to expose/ diagnose faults in incorrect programs. Using relative correctness: – We remove a fault from a program, check a set of conditions statically and locally, and conclude that the new program is more-correct than the old, all Without testing (and its attending uncertainties), Without remorse (final determination: no going back to question wisdom of fault removal). Loop Analysis and Repair- RAMICS 201520 1. Introduction 2. Progress 3. Prospects 4. Conclusion
21
A Framework for Monotonic Fault Removal Loop Analysis and Repair- RAMICS 201521 1. Introduction 2. Progress 3. Prospects 4. Conclusion
22
Proving Relative Correctness Loop Analysis and Repair- RAMICS 201522 1. Introduction 2. Progress 3. Prospects 4. Conclusion
23
Illustration Loop Analysis and Repair- RAMICS 201523 1. Introduction 2. Progress 3. Prospects 4. Conclusion Specification Invariant Relations
24
Illustration Loop Analysis and Repair- RAMICS 201524 1. Introduction 2. Progress 3. Prospects 4. Conclusion Compute constraints
25
Deployment FxLoop Analyzer (C++ based) Client-server application Thin client Server(HTTP) has 2 components – CCA compiler – Invariant relation generator using semantic matching Databases of recognizers based on application domain Computing termination condition – Traditional sense – In combination with Abort-freedom Correctness verification Loop Analysis and Repair- RAMICS 201525 1. Introduction 2. Progress 3. Prospects 4. Conclusion
26
Analytical Research To further explore the implications and applications of relative correctness, To derive techniques for proving relative correctness by static analysis of the source code. Loop Analysis and Repair- RAMICS 201526 1. Introduction 2. Progress 3. Prospects 4. Conclusion
27
Thank you! Loop Analysis and Repair- RAMICS 201527
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.