Assessing the complexity of upgrading software modules

B. Schoenmakers, N. Broek, van den, I. Nagy, B.N. Vasilescu, A. Serebrenik

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    1 Downloads (Pure)


    Modern software development frequently involves developing multiple codelines simultaneously. Improvements to one codeline should often be applied to other codelines as well, which is typically a time consuming and error-prone process. In order to reduce this (manual) effort, changes are applied to the system's modules and those affected modules are upgraded on the target system. This is a more coarse-grained approach than upgrading the affected files only. However, when a module is upgraded, one must make sure that all its dependencies are still satisfied. This paper proposes an approach to assess the ease of upgrading a software system. An algorithm was developed to compute the smallest set of upgrade dependencies, given the current version of a module and the version it has to be upgraded to. Furthermore, a visualization has been designed to explain why upgrading one module requires upgrading many additional modules. A case study has been performed at ASML to study the ease of upgrading the TwinScan software. The analysis shows that removing elements from interfaces leads to many additional upgrade dependencies. Moreover, based on our analysis we have formulated a number improvement suggestions such as a clear separation between the test code and the production code as well as an introduction of a structured process of symbols deprecation and removal. Keywords: Software, Heating, Visualization, Algorithm design and analysis, Stress, Image color analysis, Complexity theory
    Original languageEnglish
    Title of host publication20th Working Conference on Reverse Engineering (WCRE'13, Koblenz, Germany, October 14-17, 2013)
    EditorsR. Lämmel, W.B. Langdon, W. Weimer
    Place of PublicationPiscataway
    PublisherInstitute of Electrical and Electronics Engineers
    ISBN (Print)978-1-4799-2931-3
    Publication statusPublished - 2013
    Eventconference; 20th Working Conference on Reverse Engineering; 2013-10-14; 2013-10-17 -
    Duration: 14 Oct 201317 Oct 2013


    Conferenceconference; 20th Working Conference on Reverse Engineering; 2013-10-14; 2013-10-17
    Other20th Working Conference on Reverse Engineering


    Dive into the research topics of 'Assessing the complexity of upgrading software modules'. Together they form a unique fingerprint.

    Cite this