Presentation is loading. Please wait.

Presentation is loading. Please wait.

Loop Analysis and Repair Nafi Diallo Computer Science NJIT Advisor: Dr. Ali Mili.

Similar presentations


Presentation on theme: "Loop Analysis and Repair Nafi Diallo Computer Science NJIT Advisor: Dr. Ali Mili."— Presentation transcript:

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


Download ppt "Loop Analysis and Repair Nafi Diallo Computer Science NJIT Advisor: Dr. Ali Mili."

Similar presentations


Ads by Google