Multi-Version Software Analysis to Detect Architectural Mismatches
A software repository is a special kind of information system maintaining information
about one or more software components. The information may range from software code
to design and requirement specifications, design decisions, test data, software versions and
Software repository data are available for most large software projects and represent a
detailed record of the development of a software system. Software repositories are not only
useful to record development history, this data can also be used to study various aspects of
software development such as software design and architecture.
In this thesis we investigate whether the problems of increased effort encountered during
code changes at ASML are caused by an inappropriate software architecture. To answer
this question, we use software repository mining techniques to find evidence of architectural
The thesis consists of two main parts: a literature study in software repository mining and
a case study in which we conduct various mining experiments on ASML source code.
The full thesis is ASML confidential. The public version is attached below.