understanding data intensive systems using dynamic analysis and visualization nesrine noughi
TRANSCRIPT
Understanding Data Intensive Systems
Using Dynamic Analysis and Visualization
Nesrine NOUGHI
Motivation and Context Understanding = up to 50% of the cost of the software
maintenance
Data intensive systems Intensive usage of data ( towards Big Data) More and more dynamic systems (ORM, Web
Application, etc.)
Consequences The database often occupies a central place
Systems are more and more complex to understand
Objective
Focus : Capture SQL queries at run-time and visualize dynamically their impact on the database to ease program comprehension
Understanding the communication between the database and the programs becomes a prerequisite to data-intensive system comprehension
Approach and Methodology
Logical Visualization Conceptual Visualization Workflow Detection
Approach and Methodology Step 1 : Logical Visualization
Uses the logical schema as representation model
Takes one SQL trace and logical schema as input
Allows visualization at a low-level of abstraction (tables, columns, etc)
Approach and Methodology Step 1 : Logical Visualization Example :
Logical schema
SQL trace
Logical visualization
Approach and Methodology Step 2 : Conceptual Visualization
Uses the conceptual schema as representation model
Takes one SQL trace, both conceptual and logical schemas as input
Allows visualization at a higher-level of abstraction (concepts, relationships)
Approach and Methodology
Logical schema Conceptual schema
Step 2 : Conceptual Visualization Example :
SQL trace
Conceptual visualization
Mapping
Approach and Methodology Step 3 : Workflow Detection
Takes several SQL traces as input
Allows the visualization of the data manipulation workflow of the program
Ongoing work Implementation of the first two steps
+ loop detection algorithm
Logical visualization Conceptual visualizationConceptual visualizationLogical visualization Conceptual visualization
Future directions
Complete and enrich the conceptual visualization
Define an experimental protocol for the evaluation of the prototype with real users
Use this visualization in order to animate the workflow of the program provide program documentation and diagrams