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 VisualizationConceptual VisualizationWorkflow 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 schemaConceptual 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 visualizationConceptual visualization Logical visualizationConceptual 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