SlideShare a Scribd company logo
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

More Related Content

What's hot

6 Lowpan Rpl Tutorial Code
6 Lowpan Rpl Tutorial Code6 Lowpan Rpl Tutorial Code
6 Lowpan Rpl Tutorial Code
Phdtopiccom
 
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
 
Vaibhav's Resume
Vaibhav's ResumeVaibhav's Resume
Vaibhav's Resume
Vaibhav Sachdeva
 
Satwik mishra resume
Satwik mishra resumeSatwik mishra resume
Satwik mishra resume
Satwik Mishra
 
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
NECST Lab @ Politecnico di Milano
 
My Resume
My ResumeMy Resume
My Resume
SwapnilKishore3
 
Satwik mishra resume
Satwik mishra resumeSatwik mishra resume
Satwik mishra resume
Satwik Mishra
 
Nick_Farrel_Resume
Nick_Farrel_ResumeNick_Farrel_Resume
Nick_Farrel_Resume
Nicholas Farrel
 
Satwik resume
Satwik resumeSatwik resume
Satwik resume
Satwik Mishra
 
ZX_Resume_V3.1
ZX_Resume_V3.1ZX_Resume_V3.1
ZX_Resume_V3.1
Zeyuan Xu
 
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
Matt Eitrem
 
SHIVA KUMAR GANGINANI_RESUME
SHIVA KUMAR GANGINANI_RESUMESHIVA KUMAR GANGINANI_RESUME
SHIVA KUMAR GANGINANI_RESUME
shiva kumar
 
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
PhD Services
 
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
Jeremy Yang
 

What's hot (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 to Graph-Based Analysis and Visualization of Software Traces [SSP 2019]

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
Andreas Schreiber
 
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
Nakul Sharma
 
Resume
ResumeResume
statistical computation using R- report
statistical computation using R- reportstatistical computation using R- report
statistical computation using R- report
Kamarudheen KV
 
Resume_ALOK
Resume_ALOKResume_ALOK
Resume_ALOK
Alok Arya
 
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
Databricks
 
Perspectives on Software Visualization
Perspectives on Software VisualizationPerspectives on Software Visualization
Perspectives on Software Visualization
Förderverein Technische Fakultät
 
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
 
Rajas mhaskar resume2k19
Rajas mhaskar resume2k19Rajas mhaskar resume2k19
Rajas mhaskar resume2k19
Rajas Mhaskar
 
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
Heiko Koziolek
 
PriyankaDighe_Resume_new
PriyankaDighe_Resume_newPriyankaDighe_Resume_new
PriyankaDighe_Resume_new
Priyanka Dighe
 
ai-conversation-solution-editable-ppt.pptx
ai-conversation-solution-editable-ppt.pptxai-conversation-solution-editable-ppt.pptx
ai-conversation-solution-editable-ppt.pptx
Steve524488
 
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...
Álvaro Sicilia
 
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 Journal
 
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
IRJET Journal
 
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
OpenACC
 
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
journalBEEI
 
Final paper
Final paperFinal 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
 
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
 

Similar to 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...
 

Recently uploaded

The cost of acquiring information by natural selection
The cost of acquiring information by natural selectionThe cost of acquiring information by natural selection
The cost of acquiring information by natural selection
Carl Bergstrom
 
Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...
Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...
Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...
frank0071
 
Holsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdf
Holsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdfHolsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdf
Holsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdf
frank0071
 
HUMAN EYE By-R.M Class 10 phy best digital notes.pdf
HUMAN EYE By-R.M Class 10 phy best digital notes.pdfHUMAN EYE By-R.M Class 10 phy best digital notes.pdf
HUMAN EYE By-R.M Class 10 phy best digital notes.pdf
Ritik83251
 
cathode ray oscilloscope and its applications
cathode ray oscilloscope and its applicationscathode ray oscilloscope and its applications
cathode ray oscilloscope and its applications
sandertein
 
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
Scintica Instrumentation
 
Immunotherapy presentation from clinical immunology
Immunotherapy presentation from clinical immunologyImmunotherapy presentation from clinical immunology
Immunotherapy presentation from clinical immunology
VetriVel359477
 
Gadgets for management of stored product pests_Dr.UPR.pdf
Gadgets for management of stored product pests_Dr.UPR.pdfGadgets for management of stored product pests_Dr.UPR.pdf
Gadgets for management of stored product pests_Dr.UPR.pdf
PirithiRaju
 
MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...
MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...
MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...
ABHISHEK SONI NIMT INSTITUTE OF MEDICAL AND PARAMEDCIAL SCIENCES , GOVT PG COLLEGE NOIDA
 
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆
Sérgio Sacani
 
BIRDS DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptx
BIRDS  DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptxBIRDS  DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptx
BIRDS DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptx
goluk9330
 
11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf
PirithiRaju
 
Flow chart.pdf LIFE SCIENCES CSIR UGC NET CONTENT
Flow chart.pdf  LIFE SCIENCES CSIR UGC NET CONTENTFlow chart.pdf  LIFE SCIENCES CSIR UGC NET CONTENT
Flow chart.pdf LIFE SCIENCES CSIR UGC NET CONTENT
savindersingh16
 
Anti-Universe And Emergent Gravity and the Dark Universe
Anti-Universe And Emergent Gravity and the Dark UniverseAnti-Universe And Emergent Gravity and the Dark Universe
Anti-Universe And Emergent Gravity and the Dark Universe
Sérgio Sacani
 
Male reproduction physiology by Suyash Garg .pptx
Male reproduction physiology by Suyash Garg .pptxMale reproduction physiology by Suyash Garg .pptx
Male reproduction physiology by Suyash Garg .pptx
suyashempire
 
AJAY KUMAR NIET GreNo Guava Project File.pdf
AJAY KUMAR NIET GreNo Guava Project File.pdfAJAY KUMAR NIET GreNo Guava Project File.pdf
AJAY KUMAR NIET GreNo Guava Project File.pdf
AJAY KUMAR
 
Discovery of An Apparent Red, High-Velocity Type Ia Supernova at 𝐳 = 2.9 wi...
Discovery of An Apparent Red, High-Velocity Type Ia Supernova at  𝐳 = 2.9  wi...Discovery of An Apparent Red, High-Velocity Type Ia Supernova at  𝐳 = 2.9  wi...
Discovery of An Apparent Red, High-Velocity Type Ia Supernova at 𝐳 = 2.9 wi...
Sérgio Sacani
 
Introduction_Ch_01_Biotech Biotechnology course .pptx
Introduction_Ch_01_Biotech Biotechnology course .pptxIntroduction_Ch_01_Biotech Biotechnology course .pptx
Introduction_Ch_01_Biotech Biotechnology course .pptx
QusayMaghayerh
 
23PH301 - Optics - Unit 1 - Optical Lenses
23PH301 - Optics  -  Unit 1 - Optical Lenses23PH301 - Optics  -  Unit 1 - Optical Lenses
23PH301 - Optics - Unit 1 - Optical Lenses
RDhivya6
 
IMPORTANCE OF ALGAE AND ITS BENIFITS.pptx
IMPORTANCE OF ALGAE  AND ITS BENIFITS.pptxIMPORTANCE OF ALGAE  AND ITS BENIFITS.pptx
IMPORTANCE OF ALGAE AND ITS BENIFITS.pptx
OmAle5
 

Recently uploaded (20)

The cost of acquiring information by natural selection
The cost of acquiring information by natural selectionThe cost of acquiring information by natural selection
The cost of acquiring information by natural selection
 
Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...
Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...
Juaristi, Jon. - El canon espanol. El legado de la cultura española a la civi...
 
Holsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdf
Holsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdfHolsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdf
Holsinger, Bruce W. - Music, body and desire in medieval culture [2001].pdf
 
HUMAN EYE By-R.M Class 10 phy best digital notes.pdf
HUMAN EYE By-R.M Class 10 phy best digital notes.pdfHUMAN EYE By-R.M Class 10 phy best digital notes.pdf
HUMAN EYE By-R.M Class 10 phy best digital notes.pdf
 
cathode ray oscilloscope and its applications
cathode ray oscilloscope and its applicationscathode ray oscilloscope and its applications
cathode ray oscilloscope and its applications
 
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
 
Immunotherapy presentation from clinical immunology
Immunotherapy presentation from clinical immunologyImmunotherapy presentation from clinical immunology
Immunotherapy presentation from clinical immunology
 
Gadgets for management of stored product pests_Dr.UPR.pdf
Gadgets for management of stored product pests_Dr.UPR.pdfGadgets for management of stored product pests_Dr.UPR.pdf
Gadgets for management of stored product pests_Dr.UPR.pdf
 
MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...
MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...
MICROBIAL INTERACTION PPT/ MICROBIAL INTERACTION AND THEIR TYPES // PLANT MIC...
 
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆
 
BIRDS DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptx
BIRDS  DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptxBIRDS  DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptx
BIRDS DIVERSITY OF SOOTEA BISWANATH ASSAM.ppt.pptx
 
11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf
 
Flow chart.pdf LIFE SCIENCES CSIR UGC NET CONTENT
Flow chart.pdf  LIFE SCIENCES CSIR UGC NET CONTENTFlow chart.pdf  LIFE SCIENCES CSIR UGC NET CONTENT
Flow chart.pdf LIFE SCIENCES CSIR UGC NET CONTENT
 
Anti-Universe And Emergent Gravity and the Dark Universe
Anti-Universe And Emergent Gravity and the Dark UniverseAnti-Universe And Emergent Gravity and the Dark Universe
Anti-Universe And Emergent Gravity and the Dark Universe
 
Male reproduction physiology by Suyash Garg .pptx
Male reproduction physiology by Suyash Garg .pptxMale reproduction physiology by Suyash Garg .pptx
Male reproduction physiology by Suyash Garg .pptx
 
AJAY KUMAR NIET GreNo Guava Project File.pdf
AJAY KUMAR NIET GreNo Guava Project File.pdfAJAY KUMAR NIET GreNo Guava Project File.pdf
AJAY KUMAR NIET GreNo Guava Project File.pdf
 
Discovery of An Apparent Red, High-Velocity Type Ia Supernova at 𝐳 = 2.9 wi...
Discovery of An Apparent Red, High-Velocity Type Ia Supernova at  𝐳 = 2.9  wi...Discovery of An Apparent Red, High-Velocity Type Ia Supernova at  𝐳 = 2.9  wi...
Discovery of An Apparent Red, High-Velocity Type Ia Supernova at 𝐳 = 2.9 wi...
 
Introduction_Ch_01_Biotech Biotechnology course .pptx
Introduction_Ch_01_Biotech Biotechnology course .pptxIntroduction_Ch_01_Biotech Biotechnology course .pptx
Introduction_Ch_01_Biotech Biotechnology course .pptx
 
23PH301 - Optics - Unit 1 - Optical Lenses
23PH301 - Optics  -  Unit 1 - Optical Lenses23PH301 - Optics  -  Unit 1 - Optical Lenses
23PH301 - Optics - Unit 1 - Optical Lenses
 
IMPORTANCE OF ALGAE AND ITS BENIFITS.pptx
IMPORTANCE OF ALGAE  AND ITS BENIFITS.pptxIMPORTANCE OF ALGAE  AND ITS BENIFITS.pptx
IMPORTANCE OF ALGAE AND ITS BENIFITS.pptx
 

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