1 / 14

Runtime verification of Java programs using ITL

Explore runtime verification technique for detecting faults in software by observing I/O behavior during normal operations. Learn about formal description, interpretation, and strategies for runtime verification in Java.

ljoyce
Download Presentation

Runtime verification of Java programs using ITL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Runtime verification of Java programs using ITL Vladimir Valkanov, Damyan Mitev Plovdiv, Bulgaria SEERE, Neum 2009

  2. 1.What is runtime verification? - technique that combines formal verification and program execution. - detecting faults in a system by passively observing its I/O behavior during normal operations. SEERE, Neum 2009

  3. Is runtime verification better? • Normal testing techniques, e.g. unit testing, ample only a partial proof of correctness. It does not guarantee that the system will operate as expected under untested inputs. Undiscovered faults may result in failures in runtime. • Monitoring the software, during the runtime for correctness, failures can be catch when they happened, for any input which causes them to occur. SEERE, Neum 2009

  4. Behavior may depend heavily on the environment of the target system • Some information is available only at runtime or is convenient to be checked at runtime • The correctness of the system model has to imply correctness of the implementation. SEERE, Neum 2009

  5. 2.Infostation middleware • Agent-oriented middleware • Manage mobile users and services • Four basic scenarios • Time dependant SEERE, Neum 2009

  6. SEERE, Neum 2009

  7. I N F O S T A T I O N Interface Agents Agent and Service layer DB Simple Service AAA Service Connection Adviser Agent Support Agent layer Query Manager Agent ACL with filtered devices List with devices ACL Create agent and give it connection Blue-tooth Agent layer Connection Agent Scanner Agent Connection Initiator Agent Receive Thread Send Thread Bluetooth API Create conn Mobile Device Bluetooth service and address SEERE, Neum 2009

  8. Detection and control of the scenario • Formal description of the scenarios • Mechanism for interpretation of that description • Strategies for runtime verification SEERE, Neum 2009

  9. Scenario formalism • Interval Temporal Logic • propositional and first-order logical reasoning • finite sequences – time intervals • capable of handling sequential and parallel composition SEERE, Neum 2009

  10. Interpretation of the discription • Tempura - executable ITL framework • written in C • open source • rewriting in Java SEERE, Neum 2009

  11. Assert point-based verification • points directly written in the source code • every assertion point is a set of variables • we can tell the system what to do in case of failure • we do not know when the check will be executed SEERE, Neum 2009

  12. Event-based verification • depend on some event, e.g. timer • using parallel thread of the main program • the thread generate state and compare it with system state • we know the exact time of check • it is difficult to control the main program • the resource usage if higher SEERE, Neum 2009

  13. Which strategy to choose? • Depends on the implementation -every agent to have his own verification mechanism SEERE, Neum 2009

  14. THANKS FOR YOUR ATTENTION SEERE, Neum 2009

More Related