Integration of Static Code Analysis in Continuous Integration

  • Slides: 9
Download presentation
Integration of Static Code Analysis in Continuous Integration Lifecycles Brian Pfretzschner Sebastian Funke Hamza

Integration of Static Code Analysis in Continuous Integration Lifecycles Brian Pfretzschner Sebastian Funke Hamza Zulfiqar Source: http: //povilasb. com/_images/code_analysis. jpeg 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar

Why Static Code Analysis? Static Code Analysis is your personal (security) code auditor! Code

Why Static Code Analysis? Static Code Analysis is your personal (security) code auditor! Code Auto Analysis Code Review 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 2 Solid Software

Research questions 1. Where to apply static code analysis in software development processes? 2.

Research questions 1. Where to apply static code analysis in software development processes? 2. How usable is the integration of popular Open Source static code analysers? 3. How usable are the reporting capabilities of popular Open Source static code analysers? 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 3

Where to apply static code analysis? • Directly in IDEs (e. g. Eclipse) •

Where to apply static code analysis? • Directly in IDEs (e. g. Eclipse) • In Continous Integration (CI) systems (e. g. Jenkins) • External Code Quality Management (CQM) tools (e. g. Sonar. Qube) http: //www. retrieverconsulting. com/cloud-solutions. html 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 4

Usability Evaluation of Static Code Analysis Integration • Evaluation Method: Cognitive Walkthough with usability

Usability Evaluation of Static Code Analysis Integration • Evaluation Method: Cognitive Walkthough with usability inspection 1. Prepare Analysis 2. Run Analysis 3. Evaluate Analysis results 4. Manage results • Usability questions in every walkthrough stage 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 5

Evaluated Tools • IDE: Eclipse • CI: Jenkins • CI: Team. City • CQM:

Evaluated Tools • IDE: Eclipse • CI: Jenkins • CI: Team. City • CQM: Sonar. Qube https: //raw. githubusercontent. com/yoshimov/chocolatey-packages/master/eclipse-javajuno/Eclipse_Icon_by_flosweb. png https: //wiki. jenkins-ci. org/display/JENKINS/Logo http: //citconf. com/archive/budapest 2012/_Images/_ Sponsors/team_city. png http: //www. sonarqube. org/wp-content/themes/sonarsource. org/images/sonar. png 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 6

Comparison Results 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar |

Comparison Results 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 7

Conclusion • Open Source analysers lack multi-language support • Analysers customization (Rules) hard to

Conclusion • Open Source analysers lack multi-language support • Analysers customization (Rules) hard to accomplish • Analysis in IDE not efficient, central, easy to manage • Analysis in CI tools hard to configure • Reporting capabilities of analysers in CI not usable Ø External Code Quality Management tools do the job • Good idea to use many analysers Ø BUT: many duplicate findings Ø Future approach: Tool to filter duplicates and false positives 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 8

Questions 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 9

Questions 05. 03. 2015 | Secure Software Development | Funke, Pfretzschner, Zulfiqar | 9