concurrency analysis of java rmi using source transformation and verisoft n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Concurrency Analysis of Java RMI Using Source Transformation and Verisoft PowerPoint Presentation
Download Presentation
Concurrency Analysis of Java RMI Using Source Transformation and Verisoft

Loading in 2 Seconds...

play fullscreen
1 / 24

Concurrency Analysis of Java RMI Using Source Transformation and Verisoft - PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on

Concurrency Analysis of Java RMI Using Source Transformation and Verisoft. By Tim Cassidy Supervised by Jim Cordy Tom Dean. Special Thanks. My father My supervisors Juergen Dingel Dean Jin Debby Robertson. Motivation. Concurrency Can improve performance Can degrade performance

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Concurrency Analysis of Java RMI Using Source Transformation and Verisoft' - zena-washington


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
concurrency analysis of java rmi using source transformation and verisoft

Concurrency Analysis of Java RMI UsingSource Transformation and Verisoft

By Tim Cassidy

Supervised by

Jim Cordy

Tom Dean

special thanks
Special Thanks
  • My father
  • My supervisors
  • Juergen Dingel
  • Dean Jin
  • Debby Robertson
motivation
Motivation
  • Concurrency
    • Can improve performance
    • Can degrade performance
  • Expand the scope of Verisoft (a concurrency analysis tool)
background
Background
  • Modeling/Verification tools
    • Can provide useful insight into a model
    • But how to make the model
  • Concurrency Models
    • Threads and Processes (local and remote)
      • RMI – Remote Method Invocation
  • Source Transformation
    • What’s it good for?
      • Translation
      • Rephrasing
artifacts used in my solution
Artifacts Used In My Solution
  • Why Verisoft?
    • Variety of problems inherent in Model Checking/Verification
    • Model Construction Problem SOLVED!
    • State Space Explosion addressed up to a predefined depth
  • Why Java RMI?
    • Flexible
    • Need to know basis
overview of jcuv
Overview of JCUV
  • Transform Java RMI (distributed) to C++ Using Verisoft on single machine (inter-process)
  • Three Step Process
    • First Step (powered by TXL)
      • Transform Java to C++
    • Second Step (powered by TXL)
      • Transform C++ to C++ using Verisoft
    • Third Step
      • Use Verisoft to analyze resultant/generated code
first step
First Step
  • Semantic preserving transformation from Java to C++
  • Limitations
    • Unique Naming/Renaming
    • Constructors
    • Nested/Inner Classes
    • Inherent Weakness of Reference Counting Memory Management Strategy
    • AND MORE!!!
second step
Second Step
  • Generation of RMI related classes
    • Generation of Naming
    • Generation of Remote Object Stub (Proxy For Remote Object)
    • Generation of UnicastRemoteObject
  • Limitations
    • Marshalling/Unmarshalling of Objects
third step
Third Step
  • Necessary Steps
    • Compile and link C++ code
    • Configure system_file.VS prior to Verisoft run-time
    • Execute Verisoft (manual, guided, automatic)
first step experiment
First Step Experiment
  • Over 14,000 lines of Java code (all associated with java.util.Hashtable)
    • Ran 100 C++ tests on the resultant code and it functioned in an identical manner to the original Java code
jcuv experiments
JCUV Experiments
  • Two small Java RMI applications were analyzed
    • Trivial deadlock in one
    • Divergence was found in the other (with sufficient clients and single server)
future work
Future Work
  • Eventual goal would be to analyze any form of concurrency implemented in Java
    • More generalized use of the Java RMI framework
    • Internet communication without the use of RMI
    • Simple thread communication
  • Use JCUV on large and more realistic pieces of Java RMI code
contributions
Contributions
  • Concurrency can be a source of inconsistent problems and therefore debugging can be difficult or even impossible
  • Modelling/Verification tools - difficult and sometimes simply intractable to attempt a transformation from a programming language to a modelling language
contributions cont d
Contributions (cont’d)
  • My approach attempts to simplify the creation of a model
    • Three step transformation
    • From Java code that makes use of RMI to C++ that uses Verisoft
related work
Related Work
  • Java PathFinder and Bandera
    • Supports Linear Temporal Logic or Computation Tree Logic (better solution to Requirement Specification problem)
    • Poor support for Output Interpretation problem
    • Not capable of transforming/translating Java RMI into a modelling language
realistic txl rule
Realistic TXL Rule

Type out rule manually