HANA Code ChecksDSAG Technologietage
About Munich Re
21. Februar 2018 2DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Munich Re Group (MR, ERGO, MEAG, …) is one of the market leaders in
reinsurance business
Since April 1880
(BW, HANA, BODS, BO Frontends)
Master’s in Computer Science, TU München
PhD in Software Engineering (Testing)
Since 2011: CQSE GmbH
Static Code Analysis for ABAP, HANA
Integration in Teamscale
Jonatan Skopek Dr. Christian Pfaller
21. Februar 2018DSAG Technologietage - HANA Richtlinien und Checks,
J. Skopek / Ch. Pfaller 3
SAP HANA @ Munich Re
21. Februar 2018 4DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Pure data base replacement
GKD MDTD
21. Februar 2018 6DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Outsourcing / Offshoring Watch out for Maintainability!
You can Detect a Lot in the Code
21. Februar 2018 7DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Maintainability
Performance
Security
Bugs
HANA: New Development Technology
Coding Guidelines
21. Februar 2018DSAG Technologietage - HANA Richtlinien und Checks,
J. Skopek / Ch. Pfaller 11
Guidelines HANA Views
Avoid Column Engine Expressions
Ensure Layer Conformance
21. Februar 2018 12DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Performance: Avoid Column Engine
21. Februar 2018 14DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Performance: Avoid Joins on Calculated Attributes
21. Februar 2018 15DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Architecture Layers for Views
21. Februar 2018 16DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Guidelines HANA SQLScript
Duplicated Code
21. Februar 2018 17DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Nested Subqueries in SQL Statements
21. Februar 2018 18DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Duplicated Code
21. Februar 2018 19DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Inconsistent Changes: Risk of Bugs
21. Februar 2018 20DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Scientific Study
• 52% of all unintended inconsistencies
Juergens, Deissenboeck et al: Do Code Clones Matter? ICSE
2009
critical visible to user not visible to user
ABAP / C#
Extend for
Needed: Automated Checks
21. Februar 2018 25DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
HANA
How to Get the Code?
21. Februar 2018 26DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Continuous
Results
How to Get the Code?
21. Februar 2018 27DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
pull
Code
Changes
Continuous
Results
*.hdbprocedure (SQLSscript)
*.analyticview (XML)
*.attributeview (XML)
*.calculationview (XML)
Guidelines Evolve …
21. Februar 2018 28DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
HANA
Evolving Guidlines: Keep on with the Checks
21. Februar 2018 29DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
DECLARE
CURSOR cur …
Architecture Conformance
21. Februar 2018 30DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Views Inside:
Conform with Layer Architecture?
21. Februar 2018 31DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Modelling Architecture: Components
D. Steidl et al: Continuous Software Quality Control in
Practice.
2014 IEEE International Conference on Software Maintenance and
Evolution (ICSME’14)
Continuous update due to technology changes and growing
experience
Two major purposes for code quality checks:
Self service tool for developers to fulfill design guidelines
already during initial development
Code quality reports of already implemented code
Checks should be part of development process (quality gates,
etc.)
Automated checks beneficial especially in large development
projects
21. Februar 2018 39DSAG Technologietage - HANA Richtlinien und
Checks, J. Skopek / Ch. Pfaller
Questions welcome!
Dr. Christian Pfaller,
[email protected], +49 176 10090694
Blog-Post on SQLScript Checks:
https://www.cqse.eu/en/blog/sqlscript-analysis/
21. Februar 2018DSAG Technologietage - HANA Richtlinien und Checks,
J. Skopek / Ch. Pfaller 40