Student: Not assigned yet
Owner: Cristiano Giuffrida email@example.com
SVN branch name: N/A
The complexity of software systems is increasing dramatically, and so are the number of bugs, security vulnerabilities, and unanticipated changes. Software updates represent a viable means to meet the growing demand for software evolution while maintaining high reliability and security standards. While updates are designed to have positive effects, a buggy patch or an incorrect update process may unexpectedly compromise a software system. Software updates are commonly perceived as a blackbox: little is known about what they change and the way they could affect the behavior of the system. Understanding the properties and the impact of an update is crucial to predict its effects and avoid unexpected consequences. This project is to investigate how to leverage static and/or dynamic analysis techniques to extract and analyze the characteristics of real-life software updates. The analysis should explore changes to code and/or data structures, determine what kinds of changes occurred, and estimate their impact on a software system. Finally, the analysis should provide insightful information on the feasibility and complexity of a given update when changes are to be applied online, while the system is running.