ypermodelling Reporting: Towards Cockpits for Code Structure Tim Frey, Uni Magdeburg
Motivation Hypermodelling Code Cockpits Outlook Questions
Motivation Hypermodelling Code Cockpit Outlook Questions
Motivation Hypermodelling Applications Questions
Motivation Hypermodelling Applications Questions
Motivation Hypermodelling Applications Questions
What is needed? Big Data Code Analysis Lack of easy and customizable „manager“ reporting about: – Code quality – Code structure Integration into the Enterprise system landscape
Already available Fast Analysis Multi-dimensional Integration Big Data Widely Used in Controlling and Planning Source: Pendse und Creeth, Managers like Data Warehouses
Use Data Warehouse Technology Abstraction Integration Built for mining Ready-to-use toolsets Established in controlling -> Use what already exists in Enterprises and built on that Tim Frey
H favors opportunities Application Reporting
Reporting Code Structure
How many classes do we extend?
Reporting Code Structure How many classes do we extend? From which namespace/package?
Reporting Code Structure How many classes do we extend? From which namespace/package? Different classes? Variation? Top used classes? How many?
Reporting Code Structure How many classes do we extend? From which namespace/package? Different classes? Variation? Top used classes? How many? Shared method names in children?
Cockpit
Effort: Realisation time: 80 h Contribution: Code Structure reports for special use cases with minimal effort
Code Search Engine: Realisation time: 2 Days
- Favour Composition over Inheritance - Programming against interfaces - dependency of components Annotation Distribution Developers framework knowledge… Developers relations Bugs –LOC -Developer AND, AND, AND…
- leveraging new opportunities Holistic Data integration Statistical Analysis Reporting Solutions IDE tools Mining Recommendation systems Code-Search-Engines Code Audits …. More information hypermodelling.com
Competitors Dependency matrix- tools Code search IDE Query tools Software Project control centers Tim Frey
Competitors Dependency matrix- tools Code search IDE Query tools Software Project control centers Tim Frey No Data Warehouse No slicing Not holistic No integration
Code Slices
Technology
SELECT { [ParentType].[Name].&[ShareMapper], [Parent].[Name].&[InitializingBean] } ON COLUMNS, { [Method].[Name].[All].CHILDREN } ON ROWS FROM [Code-Structure] WHERE ( [Measures].[Method-Count] )
Giving developers a hand
Imagine to uncover the service layer 74% -> Problem: - A single hierarchy is used to navigate code - Applied software is based on frameworks G. C. Murphy, M. Kersten, L. Findlater. How Are Java Software Developers Using the Eclipse IDE? IEEE Software, pages
OR AND WITHOUT Filter Tim Frey Contribution: Easy Drag and Drop Concern Queries with Filtering
Imagine to uncover the service layer