research topics in software and reasoning systems bharat jayaraman university at buffalo (suny) jan...

35
Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) • Jan Chomicki, University at Buffalo • Venu Govindaraju, University at Buffalo Kishore Ramachandran, Georgia Tech • Luke Ziarek, University at Buffalo CSE Research Overview Collaborators: Fall 2014

Upload: audrey-little

Post on 20-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Research Topics in Software and Reasoning Systems

Bharat Jayaraman University at Buffalo (SUNY)

• Jan Chomicki, University at Buffalo• Venu Govindaraju, University at Buffalo• Kishore Ramachandran, Georgia Tech• Luke Ziarek, University at Buffalo

CSE Research Overview

Collaborators:

Fall 2014

Page 2: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Three Current Topics

1. Unobtrusive Smart Spaces

2. Modeling Complex Systems

3. Dynamic Analysis & Visualization

CSE Research OverviewFall 2014

Research Methodology:- Start with Theoretical Foundations

- Develop Practical Models/Languages

- Implement, Apply, Learn, Improve

Page 3: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

1. Unobtrusive Smart Spaces

CSE Research OverviewFall 2014

Page 4: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Research Topics

1. Large Camera Networks

2. Distributed State Transition System

3. Practical Deployment and Experiments

4. Smart Space Analytics

CSE Research OverviewFall 2014

Three R’s of Cyber-Physical Spaces, V. Menon, B. Jayaraman, V. GovindarajuIEEE Computer, 44(9): 73-89, 2011

A Distributed Framework for Spatio-Temporal Analysis on Large-scale Camera Networks, K Hong, M Voelz, V Govindaraju, B Jayaraman, U Ramachandran, Proc. Distributed Computing Systems Workshops (ICDCSW), 2013

Page 5: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

2. Modeling Complex Systems Grand Challenge in Information Systems (www.cra.org)

….

CSE Research OverviewFall 2014

“We need a mathematical model that relates the global behavior of complex systems to the local behaviors and interaction patterns of the individual elements …

Whatever form such a model takes, it must permit us to define and control emergent behavior using declarative, not imperative, techniques.”

Motivating Domains: Engineering, Biological, …Common Features: Complex Assembly, Laws of Behavior,

Visualization

Page 6: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Constrained Objects

Constraints: “The load on a wall ≤ its load bearing capacity.”“The sum of the forces at a joint should be zero.” etc.

Page 7: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

class joint { attributes bar [ ] Bars; load [ ] Loads; constraints (sum X in Bars : X.B.F * sin(X.A)) + (sum L in Loads : L.F * sin(L.A)) = 0;

(sum Y in Bars : Y.B.F * cos(Y.A)) + (sum M in Loads : M.F * cos(M.A)) = 0; constructor joint(B1, L1) { Bars = B1; Loads = L1; } }

Load

Sum of Forces = 0

Page 8: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

• Translation to Efficient Low-level Representations

• Inconsistency Detection and Failure Analysis

• Visualization for Dynamic Behavior• From Constrained Objects to

Constraint-based Design

Research Topics

Modeling Engineering Structures with Constrained Objects, B. Jayaraman and P. Tambay, Proc. Practical Aspects of Declarative Languages, Lecture Notes in Computer Science (2257), pp. 28-46, 2002

Compositional semantics for diagrams using constrained objects, B. Jayaraman, P. Tambay, Proc. Diagrammatic Representation and Inference, pp. 94-96, 2003

Page 9: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

• Towards Better Program Comprehension• Run-time Visualization, Query-based

Debugging• Execution Analysis, Summarization• JIVE: Java Interactive Visualization

Environment• Extensions for Real-time, Concurrency, etc.

3. Dynamic Analysis & Visualization

Temporal Data Model for Program Debugging. D. Lessa, B. Jayaraman, J. Chomicki, Proc. Database Programming Languages, 2011.

JI. FI: Visual Test and Debug Queries for Hard Real‐Time, E. Blanton, D. Lessa, P. Arora, L. Ziarek, B. Jayaraman, Concurrency and Computation: Practice and Experience, 2013.

Page 10: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Source Code Static – Behavior Obscure

Page 11: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

JIVE Interface

SourceCode

EnhancedObject

Diagram

SequenceDiagram

Processes

Query Result

Page 12: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

JIVE Visualization: Objects as

Environments

JIVE object diagram

showing objects as well as method

activations in the object contexts

CSE Research OverviewFall 2014

Page 13: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

JIVE Objects: Detailed View

JIVE object diagram

showing internal details of

objects and method

activations

Fall 2014CSE Research Overview

Page 14: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Objects as Environments:Call-Path View

JIVE object diagram

focusing on the calling path, or the call stack.

Fall 2014 CSE Research Overview

Page 15: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Flexible Views

CSE Research OverviewFall 2014

Page 16: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Viewing Execution History:Multi-Threaded Programming

CSE Research OverviewFall 2014

Page 17: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Visualization clarifies Program Behavior

F1 F2 F3 F4 F5 P1 P2 P3 P4 P5

JIVE sequence diagram clarifiesthread interactions

Fall 2014 CSE Research Overview

Page 18: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

CSE Research Overview

F1 F2 F3 F4 F5 P1 P2 P3 P4 P5

JIVE sequence diagram at point of deadlock

Fall 2014

Page 19: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

CSE Research Overview

Java Path Finder is a special JVM that explores all possible choices in scheduling with the goal of identifying a concurrency bug, such as deadlock, if one exists.

The output of JPF is also an execution sequence that can be input to JIVE, which not only shows the tree of possible scheduling choices, but also the path leading to the error.

Concurrency Bug Analysis:

JIVE + Java Path Finder

04/21/23

Page 20: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

04/21/23 Android Workshop

Coupling with Java Path Finder

Page 21: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

04/21/23 CSE Research Review

Page 22: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

04/21/23 CSE Research Overview

Page 23: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

3. Query Based Debugging

• Traditional debugging is more like “web browsing” – you have to manually look for the error.

• QBD is more akin to “web searching”, e.g.:- show all changes to a variable - when did a variable become negative- when was an invariant violated- when did concurrent update occur- show all contended monitors - show all priority inversion

• Common queries can be form-based, but custom queries are necessary.

CSE Research OverviewFall 2014

Page 24: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Form-based Query Interface

CSE Research Overview

When was ‘value’ assigned to an int less than 100?Fall 2014

Page 25: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Query Result

CSE Research OverviewFall 2014

Page 26: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

JIVE’s Overall Architecture

CSE Research Overview

Fall 2014

Page 27: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Eclipse/JIVE Two-Process Model

CSE Research OverviewFall 2014

Page 28: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Jive does not represent

program states directly,

but infers

(and reconstructs)

states from events that occur.

Important Property of JIVE – 1

CSE Research OverviewFall 2014

Page 29: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

CSE Research OverviewFall 2014

Queries and Visualizationwork in a synergistic way:

Queries help focus on what is of interest.

Visualization provides a canvason which to report answers to queries.

Important Property of JIVE – 2

Page 30: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

JIVE Demo

www.cse.buffalo.edu/jive

CSE Research OverviewFall 2014

Page 31: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

CSE Research Overview

Scalable Visualizations: Vertical Compaction

Fall 2014

compactify

Page 32: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Execution Summarization: From Sequence to State Diagrams

(View 1)

CSE Research OverviewFall 2014

Page 33: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

CSE Research Overview

Fall 2014

From Sequence to State Diagrams

(View 2)

Page 34: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Summary and Conclusions

• JIVE has useful features not found in modern IDEs: visualizing object states and execution history; query-based debugging; dynamic slicing; reverse stepping

• Declarative Queries and Visualization work in a synergistic manner to provide an effective run-time environment for OO Languages.

• JIVE can be used for teaching and learning, and also has features for understanding and debugging in industrial setting.

CSE Research OverviewFall 2014

Page 35: Research Topics in Software and Reasoning Systems Bharat Jayaraman University at Buffalo (SUNY) Jan Chomicki, University at Buffalo Venu Govindaraju, University

Further Work

Fall 2014 CSE Research Overview

• Incorporate full Temporal Queries and State Diagram construction into JIVE interface.

• Verification through Testing: the database approach to debugging facilitates analysis over multiple runs, checking invariants, etc.

• Model Checking in JIVE: The State Diagram resembles a Kripke Structure, and we can perform model-checking of such structures with respect to temporal-logic formula.