SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Graph-Based Analysis and Visualization of
Software Traces
Symposium on Software Performance 2019
Würzburg, November 5, 2019
Richard Müller and Matteo Fischer
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
WHY GRAPHS?
2
[Diehl and Telea 2014, Müller et al. 2018]
 Software data naturally map to a multivariate,
compound, attributed, and time-dependent graph
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
KIEKER
 Framework to monitor, analyze, and visualize software
behavior
 Supports event-based and state-based monitoring
 Usable with Java, .NET, COBOL, and Visual Basic 6
 Provides tools
 to inspect and analyze traces
 to visualize them as UML sequence diagrams, markov
chains, dependency graphs, and trace timing diagrams
 Output writers save traces to the file system or in a
relational database
3
[van Hoorn, Waller, and Hasselbring 2012; Waller 2014; http://kieker-monitoring.net]
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
BUT…
 There is no output writer for a graph database
 The visualizations produced by the Kieker tools are
static images, for example,
 Deployment operation dependency graph of Bookstore
example
4
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
CONTRIBUTION
 jQAssistant plugin that scans event-based Kieker traces
and stores them as a graph in a Neo4j database
 The plugin supports application performance monitoring
and architecture discovery
 It complements existing Kieker tools
 Analysis
 Inspect and analyze traces with the graph query
language Cypher
 Visualization
 Use interactive visualizations of call and dependency
graphs
5
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
TECHNICAL BACKGROUND
6
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
NEO4J
 Native graph database to store, manage, and query
large amounts of connected data
 Models graph data with a labeled property graph
 Labels are used to classify nodes
 Relationships connect nodes, have a type, and can have a
direction
 Properties are attributes of nodes and relationships and
stored as key-value pairs
7
[Needham and Hodler 2019; https://neo4j.com]
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
CYPHER
 Graph query language of Neo4j
 Matches given patterns in the graph using a visual,
ASCII art-based syntax
 ( ) node
 -[ ]-> directed relationship
MATCH
(m1:Method)-[CALLS]->(m2:Method)
RETURN
m1.name, m2.name
8
[Francis et al. 2018; https://www.opencypher.org]
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
JQASSISTANT
9
 Scans software artifacts and stores
them in a Neo4j graph database
 Analyzes and modifies the graph
data with rules
 Constraints to identify violations
 Concepts to aggregate, enrich,
and filter
 Create reports
[https://jqassistant.org; https://softvis-research.github.io/jqassistant-plugins]
 Can be executed with Maven or from the command line
 Extendable through plugins, for example, Java, Jira, GitHub-
Issues, JaCoCo scanner
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
KIEKER PLUGIN
 Plugin for jQAssistant to scan and analyze event-based
software traces
 Published on GitHub under GPL-3.0
10
[https://github.com/softvis-research/jqa-kieker-plugin]
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
KIEKER GRAPH SCHEMA
11
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
APPLICATION EXAMPLE
12
[http://kieker-monitoring.net/documentation]
 Instrumented the Bookstore
example from the Kieker user
guide with AspectJ and activated
aspects OperationExecution
and OperationCall
 Scanned the monitored traces
with the jQAssistant command
line tool using the Kieker plugin
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
ANALYSIS
13
MATCH
(t:Type)-[:DECLARES]->(m:Method)
WHERE
t.fqn STARTS WITH "kieker"
RETURN
t.name as Type, m.name AS Method, m.incomingCalls AS
Calls, m.duration AS Duration ORDER BY Duration DESC
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
CALL GRAPH
14
[https://www.yworks.com/neo4j-explorer]
The property duration of each Method node is mapped to a color gradient
from green (short) to red (long)
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
DEPENDENCY GRAPH
15
[https://www.yworks.com/neo4j-explorer]
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
CONCLUSION
 Presented a jQAssistant plugin that scans event-based
software traces and stores them as a graph in a Neo4j
database
 Illustrated feasibility and usefulness with the Bookstore
example
 Analysis with an example Cypher query for aggregated
method calls
 Visualization of the call and dependency graphs in the
yFiles Neo4j explorer
16
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
FUTURE WORK
 Extend the plugin to scan further record types, for
example, state-based records
 The plugin can be used as a blueprint to contribute a
Kieker writer for graph databases
17
SSP 2019 | Graph-Based Analysis and Visualization of Software Traces
Information Systems Institute, Software Engineering Department
REFERENCES
 S. Diehl and A. C. Telea. “Multivariate Graphs in Software Engineering“. In: Multivar.
Netw. Vis. Dagstuhl Semin. #13201 Dagstuhl Castle, Ger. May 12-17, 2013 Revis.
Discuss. Ed. by A. Kerren, H. C. Purchase, and M. O. Ward. Vol. 8380. Lecture
Notes in Computer Science. Cham: Springer International Publishing, 2014. Chap. 2,
pp. 13-36.
 N. Francis et al. “Cypher: An Evolving Query Language for Property Graphs”. In:
ACM SIG-MOD Int. Conf. Manag. Data. 2018, p. 13.
 A. van Hoorn, J. Waller, and W. Hasselbring. “Kieker: A framework for application
performance monitoring and dynamic software analysis”. In: 3rd ACM/SPEC Int.
Conf. Perform. Eng. (ICPE 2012). ACM, 2012, pp. 247-248.
 R. Müller et al. “Towards an Open Source Stack to Create a Unfied Data Source for
Software Analysis and Visualization”. In: Proc. 6th IEEE Work. Conf. Softw. Vis.
Madrid, Spain: IEEE, 2018.
 M. Needham and A. E. Hodler. Graph Algorithms -Practical Examples in Apache
Spark & Neo4j. 1st ed. O'Reilly, 2019.
 J. Waller. Performance Benchmarking of Application Monitoring Frameworks. Kiel
Computer Science Series 2014/5. Department of Computer Science, Kiel University,
2014.
18
THANK YOU.
Richard Müller and Matteo Fischer
Information Systems Institute, Software Engineering Department
rmueller@wifa.uni-leipzig.de
@rimllr
https://github.com/softvis-research
http://softvis.wifa.uni-leipzig.de
19

Más contenido relacionado

La actualidad más candente

Brian James Hu resume 2016 7-5
Brian James Hu resume 2016 7-5Brian James Hu resume 2016 7-5
Brian James Hu resume 2016 7-5
Brian Hu
 
UpdatedResumeAdamDeLeon
UpdatedResumeAdamDeLeonUpdatedResumeAdamDeLeon
UpdatedResumeAdamDeLeon
Adam De Leon
 
SHIVA KUMAR GANGINANI_RESUME
SHIVA KUMAR GANGINANI_RESUMESHIVA KUMAR GANGINANI_RESUME
SHIVA KUMAR GANGINANI_RESUME
shiva kumar
 

La actualidad más candente (15)

6 Lowpan Rpl Tutorial Code
6 Lowpan Rpl Tutorial Code6 Lowpan Rpl Tutorial Code
6 Lowpan Rpl Tutorial Code
 
Brian James Hu resume 2016 7-5
Brian James Hu resume 2016 7-5Brian James Hu resume 2016 7-5
Brian James Hu resume 2016 7-5
 
UpdatedResumeAdamDeLeon
UpdatedResumeAdamDeLeonUpdatedResumeAdamDeLeon
UpdatedResumeAdamDeLeon
 
Vaibhav's Resume
Vaibhav's ResumeVaibhav's Resume
Vaibhav's Resume
 
Satwik mishra resume
Satwik mishra resumeSatwik mishra resume
Satwik mishra resume
 
Gospel - High-performance heterogeneous architectures for graph analytics
 Gospel - High-performance heterogeneous architectures for graph analytics Gospel - High-performance heterogeneous architectures for graph analytics
Gospel - High-performance heterogeneous architectures for graph analytics
 
My Resume
My ResumeMy Resume
My Resume
 
Satwik mishra resume
Satwik mishra resumeSatwik mishra resume
Satwik mishra resume
 
Nick_Farrel_Resume
Nick_Farrel_ResumeNick_Farrel_Resume
Nick_Farrel_Resume
 
Satwik resume
Satwik resumeSatwik resume
Satwik resume
 
ZX_Resume_V3.1
ZX_Resume_V3.1ZX_Resume_V3.1
ZX_Resume_V3.1
 
Integrating Sanitary Televising Data with Utility GIS Data
Integrating Sanitary Televising Data with Utility GIS DataIntegrating Sanitary Televising Data with Utility GIS Data
Integrating Sanitary Televising Data with Utility GIS Data
 
SHIVA KUMAR GANGINANI_RESUME
SHIVA KUMAR GANGINANI_RESUMESHIVA KUMAR GANGINANI_RESUME
SHIVA KUMAR GANGINANI_RESUME
 
PhD Projects in Computer Graphics Research Ideas
PhD Projects in Computer Graphics Research IdeasPhD Projects in Computer Graphics Research Ideas
PhD Projects in Computer Graphics Research Ideas
 
TIN-X v2: modernized architecture with REST API
TIN-X v2: modernized architecture with REST APITIN-X v2: modernized architecture with REST API
TIN-X v2: modernized architecture with REST API
 

Similar a Graph-Based Analysis and Visualization of Software Traces [SSP 2019]

A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...
IJECEIAES
 
PriyankaDighe_Resume_new
PriyankaDighe_Resume_newPriyankaDighe_Resume_new
PriyankaDighe_Resume_new
Priyanka Dighe
 

Similar a Graph-Based Analysis and Visualization of Software Traces [SSP 2019] (20)

Visualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented RealityVisualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented Reality
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Resume
ResumeResume
Resume
 
statistical computation using R- report
statistical computation using R- reportstatistical computation using R- report
statistical computation using R- report
 
Resume_ALOK
Resume_ALOKResume_ALOK
Resume_ALOK
 
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Spark-MPI: Approaching the Fifth Paradigm with Nikolay MalitskySpark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
 
Perspectives on Software Visualization
Perspectives on Software VisualizationPerspectives on Software Visualization
Perspectives on Software Visualization
 
A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...A systematic mapping study of performance analysis and modelling of cloud sys...
A systematic mapping study of performance analysis and modelling of cloud sys...
 
Rajas mhaskar resume2k19
Rajas mhaskar resume2k19Rajas mhaskar resume2k19
Rajas mhaskar resume2k19
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
PriyankaDighe_Resume_new
PriyankaDighe_Resume_newPriyankaDighe_Resume_new
PriyankaDighe_Resume_new
 
ai-conversation-solution-editable-ppt.pptx
ai-conversation-solution-editable-ppt.pptxai-conversation-solution-editable-ppt.pptx
ai-conversation-solution-editable-ppt.pptx
 
SEMANCO - Integrating multiple data sources, domains and tools in urban ener...
SEMANCO - Integrating multiple data sources, domains and tools in  urban ener...SEMANCO - Integrating multiple data sources, domains and tools in  urban ener...
SEMANCO - Integrating multiple data sources, domains and tools in urban ener...
 
IRJET- A Workflow Management System for Scalable Data Mining on Clouds
IRJET- A Workflow Management System for Scalable Data Mining on CloudsIRJET- A Workflow Management System for Scalable Data Mining on Clouds
IRJET- A Workflow Management System for Scalable Data Mining on Clouds
 
IRJET- Visual Information Narrator using Neural Network
IRJET- Visual Information Narrator using Neural NetworkIRJET- Visual Information Narrator using Neural Network
IRJET- Visual Information Narrator using Neural Network
 
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
OpenACC and Open Hackathons Monthly Highlights May  2023.pdfOpenACC and Open Hackathons Monthly Highlights May  2023.pdf
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
 
Cloud middleware and services-a systematic mapping review
Cloud middleware and services-a systematic mapping reviewCloud middleware and services-a systematic mapping review
Cloud middleware and services-a systematic mapping review
 
Final paper
Final paperFinal paper
Final paper
 
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
 
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
 

Último

Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
PirithiRaju
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Sérgio Sacani
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
AlMamun560346
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
PirithiRaju
 

Último (20)

Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxCOST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
 
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 

Graph-Based Analysis and Visualization of Software Traces [SSP 2019]

  • 1. Graph-Based Analysis and Visualization of Software Traces Symposium on Software Performance 2019 Würzburg, November 5, 2019 Richard Müller and Matteo Fischer
  • 2. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department WHY GRAPHS? 2 [Diehl and Telea 2014, Müller et al. 2018]  Software data naturally map to a multivariate, compound, attributed, and time-dependent graph
  • 3. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department KIEKER  Framework to monitor, analyze, and visualize software behavior  Supports event-based and state-based monitoring  Usable with Java, .NET, COBOL, and Visual Basic 6  Provides tools  to inspect and analyze traces  to visualize them as UML sequence diagrams, markov chains, dependency graphs, and trace timing diagrams  Output writers save traces to the file system or in a relational database 3 [van Hoorn, Waller, and Hasselbring 2012; Waller 2014; http://kieker-monitoring.net]
  • 4. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department BUT…  There is no output writer for a graph database  The visualizations produced by the Kieker tools are static images, for example,  Deployment operation dependency graph of Bookstore example 4
  • 5. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department CONTRIBUTION  jQAssistant plugin that scans event-based Kieker traces and stores them as a graph in a Neo4j database  The plugin supports application performance monitoring and architecture discovery  It complements existing Kieker tools  Analysis  Inspect and analyze traces with the graph query language Cypher  Visualization  Use interactive visualizations of call and dependency graphs 5
  • 6. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department TECHNICAL BACKGROUND 6
  • 7. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department NEO4J  Native graph database to store, manage, and query large amounts of connected data  Models graph data with a labeled property graph  Labels are used to classify nodes  Relationships connect nodes, have a type, and can have a direction  Properties are attributes of nodes and relationships and stored as key-value pairs 7 [Needham and Hodler 2019; https://neo4j.com]
  • 8. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department CYPHER  Graph query language of Neo4j  Matches given patterns in the graph using a visual, ASCII art-based syntax  ( ) node  -[ ]-> directed relationship MATCH (m1:Method)-[CALLS]->(m2:Method) RETURN m1.name, m2.name 8 [Francis et al. 2018; https://www.opencypher.org]
  • 9. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department JQASSISTANT 9  Scans software artifacts and stores them in a Neo4j graph database  Analyzes and modifies the graph data with rules  Constraints to identify violations  Concepts to aggregate, enrich, and filter  Create reports [https://jqassistant.org; https://softvis-research.github.io/jqassistant-plugins]  Can be executed with Maven or from the command line  Extendable through plugins, for example, Java, Jira, GitHub- Issues, JaCoCo scanner
  • 10. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department KIEKER PLUGIN  Plugin for jQAssistant to scan and analyze event-based software traces  Published on GitHub under GPL-3.0 10 [https://github.com/softvis-research/jqa-kieker-plugin]
  • 11. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department KIEKER GRAPH SCHEMA 11
  • 12. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department APPLICATION EXAMPLE 12 [http://kieker-monitoring.net/documentation]  Instrumented the Bookstore example from the Kieker user guide with AspectJ and activated aspects OperationExecution and OperationCall  Scanned the monitored traces with the jQAssistant command line tool using the Kieker plugin
  • 13. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department ANALYSIS 13 MATCH (t:Type)-[:DECLARES]->(m:Method) WHERE t.fqn STARTS WITH "kieker" RETURN t.name as Type, m.name AS Method, m.incomingCalls AS Calls, m.duration AS Duration ORDER BY Duration DESC
  • 14. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department CALL GRAPH 14 [https://www.yworks.com/neo4j-explorer] The property duration of each Method node is mapped to a color gradient from green (short) to red (long)
  • 15. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department DEPENDENCY GRAPH 15 [https://www.yworks.com/neo4j-explorer]
  • 16. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department CONCLUSION  Presented a jQAssistant plugin that scans event-based software traces and stores them as a graph in a Neo4j database  Illustrated feasibility and usefulness with the Bookstore example  Analysis with an example Cypher query for aggregated method calls  Visualization of the call and dependency graphs in the yFiles Neo4j explorer 16
  • 17. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department FUTURE WORK  Extend the plugin to scan further record types, for example, state-based records  The plugin can be used as a blueprint to contribute a Kieker writer for graph databases 17
  • 18. SSP 2019 | Graph-Based Analysis and Visualization of Software Traces Information Systems Institute, Software Engineering Department REFERENCES  S. Diehl and A. C. Telea. “Multivariate Graphs in Software Engineering“. In: Multivar. Netw. Vis. Dagstuhl Semin. #13201 Dagstuhl Castle, Ger. May 12-17, 2013 Revis. Discuss. Ed. by A. Kerren, H. C. Purchase, and M. O. Ward. Vol. 8380. Lecture Notes in Computer Science. Cham: Springer International Publishing, 2014. Chap. 2, pp. 13-36.  N. Francis et al. “Cypher: An Evolving Query Language for Property Graphs”. In: ACM SIG-MOD Int. Conf. Manag. Data. 2018, p. 13.  A. van Hoorn, J. Waller, and W. Hasselbring. “Kieker: A framework for application performance monitoring and dynamic software analysis”. In: 3rd ACM/SPEC Int. Conf. Perform. Eng. (ICPE 2012). ACM, 2012, pp. 247-248.  R. Müller et al. “Towards an Open Source Stack to Create a Unfied Data Source for Software Analysis and Visualization”. In: Proc. 6th IEEE Work. Conf. Softw. Vis. Madrid, Spain: IEEE, 2018.  M. Needham and A. E. Hodler. Graph Algorithms -Practical Examples in Apache Spark & Neo4j. 1st ed. O'Reilly, 2019.  J. Waller. Performance Benchmarking of Application Monitoring Frameworks. Kiel Computer Science Series 2014/5. Department of Computer Science, Kiel University, 2014. 18
  • 19. THANK YOU. Richard Müller and Matteo Fischer Information Systems Institute, Software Engineering Department rmueller@wifa.uni-leipzig.de @rimllr https://github.com/softvis-research http://softvis.wifa.uni-leipzig.de 19