Incremental static analysis of large source code repositories

OData support
Szárnyas Gábor
Department of Measurement and Information Systems

In large-scale complex software development, the number of coding errors are noticeably increasing with the number of contributors. Mitigatory solutions for this problem exist, but they have their limitations. For example, static analysis methods that verify that the code is compliant with coding conventions are frequently very resource intensive in practice. Especially for continuous integration purposes, the size of the codebase would require a scalable solution because for every changeset in the source, the entire verification process needs to be reapplied on the whole codebase.

Incremental processing is one of the possible solutions for speeding up static analysis. In my thesis I present a system that is able to search for coding problems based on high level specifications by graph patterns. The system supports incremental evaluation by processing source code changes and mapping them efficiently to stages of the processing workflow. Hence, after the initial query evaluation and report generation, consecutive runs are significantly more efficient.

To investigate the scalability of the described system, I present benchmark results that are based on measurements carried out with open source code bases and standard coding validation rules. These benchmarks were executed in a distributed environment.


Please sign in to download the files of this thesis.