MASTER’S THESIS 2020 Data-driven Program Analysis Deployment Anton Ljungberg, David Åkerman ISSN 1650-2884 LU-CS-EX 2020-17 DEPARTMENT OF COMPUTER SCIENCE LTH j LUND UNIVERSITY EXAMENSARBETE Datavetenskap LU-CS-EX: 2020-17 Data-driven Program Analysis Deployment Anton Ljungberg, David Åkerman Data-driven Program Analysis Deployment Anton Ljungberg David Åkerman
[email protected] [email protected] June 22, 2020 Master’s thesis work carried out at Axis Communications. Supervisors: Emma Söderberg,
[email protected] Gustaf Lundh,
[email protected] Jon Sten,
[email protected] Examiner: Görel Hedin,
[email protected] Abstract Program analysis is useful for reporting code defects that can be hard or time consuming for a developer to nd, but usability issues make many developers choose not to analyze their code with such tools. False positives introduce a lack of trust in reported defects. When users can not trust reported defects, they need to spend time on defect validation. Incomprehensible and excessively large results gets in the way of the development process. A promising approach addressing the usability issues of program analysis tools is to adapt the tools to the needs of users by making data-driven improvements. In this thesis we have created, deployed and evaluated a data-driven program analysis system. We have implemented a system named MEAN (Meta Analysis), together with a handful of protocols for running standardized program analysis within a variety of tool stacks. MEAN has been deployed at Axis Communica- tions with code review as an integration point, where 20 850 program analysis alerts reached the developers.