Browsing Theses by Subject "software evolution"
Now showing items 1-9 of 9
-
Data Science for Software Maintenance
(University of Waterloo, 2017-04-26)Maintaining and evolving modern software systems is a difficult task: their scope and complexity mean that seemingly inconsequential changes can have far-reaching consequences. Most software development companies attempt ... -
Evolution and Architecture of Open Source Software Collections: A Case Study of Debian
(University of Waterloo, 2012-08-29)Software has been studied at a variety of granularities. Code, classes, groups of classes, programs and finally large scale applications have been examined in detail. What lies beyond is the study of software collections ... -
A Hybrid Model for Object-Oriented Software Maintenance
(University of Waterloo, 2008-09-22)An object-oriented software system is composed of a collection of communicating objects that co-operate with one another to achieve some desired goals. The object is the basic unit of abstraction in an OO program; ... -
Identifying Behavioural Implications of Source Code Changes
(University of Waterloo, 2013-01-25)The dynamic behaviour of a software system changes as a consequence of developer’s static source code modifications. In this thesis, we improve upon a previous approach that combines static and dynamic analyses to categorize ... -
Model Synchronization for Software Evolution
(University of Waterloo, 2011-08-31)Software evolution refers to continuous change that a software system endures from inception to retirement. Each change must be efficiently and tractably propagated across models representing the system at different levels ... -
Studying and Leveraging API Usage Patterns
(University of Waterloo, 2022-09-29)Software projects make use of libraries extensively. Libraries have intended API surfaces—sets of exposed library interfaces that library developers expect clients to use. However, in practice, clients only use small ... -
Toward an improved understanding of software change
(University of Waterloo, 2003)Structural changes, including moving, renaming, merging and splitting are important design change decisions made by programmers. However, during the process of software evolution, this information often gets lost. ... -
Towards a Better Understanding of Variability Evolution
(University of Waterloo, 2016-06-07)Highly-configurable software systems often leverage variability modeling to achieve systematical reuse and mass customization. Although facilitating variability management, variability models do not eliminate the variability ... -
Variability Anomalies in Software Product Lines
(University of Waterloo, 2014-08-07)Software Product Lines (SPLs) allow variants of a software system to be generated based on the configuration selected by the user. In this thesis, we focus on C based software systems with build-time variability using a ...