Upgradable Software Product Customization by Code Query

Sebastien Vaucouleur

    Research output: Book / Anthology / Report / Ph.D. thesisPh.D. thesis


    The professional press on enterprise systems warns its readers: Costly., A
    return on investment killer. , Be prepared!. What can create some much af-
    iction and turmoil in an otherwise very successful industry? Come and meet
    the dreadful upgrade problem.
    Enterprise systems are prime examples of a subset of software systems that
    we call software products: software that needs special support for customization.
    Through customization, external companies can modify part of the original
    product to better t the needs of a niche market. Upon the release of a new
    version of the original software product, external companies must port their
    customizations to the latest version of the base software product, a process called
    an upgrade. Companies typically consider upgrades as mandatory, and hence
    must bear their high cost on a regular basis. The objectives of customizability
    and upgradability are conicting this constitutes the upgrade problem.
    We study the upgrade problem in the eld of enterprise systems from a
    technical point of view, and consider the large spectrum of existing software
    engineering techniques for customization. We ground our work in an empirical
    study, that shows that customizations cannot be anticipated accurately. This
    result puts an important constraint on the solution and calls for an approach
    that complements the traditional customization techniques. We present the
    novel concept of code query by example, an approach that (a) requires little
    anticipation, (b) is simple and (c) may be adopted incrementally. Last but not
    least, this solution makes a subset of customizations amenable to upgrades. The
    implementation of our prototype is based on bytecode matching and bytecode
    instrumentation, in a managed .Net environment. We study the advantages,
    the disadvantages, and the limitations of our approach, both of the concept of
    code query by example, and of the implementation strategy. Finally, we show
    how our proposal can be used in other contexts where code query is needed, for
    example rule-based lightweight static analysis.
    Original languageEnglish
    PublisherIT-Universitetet i København
    Publication statusPublished - 2009


    Dive into the research topics of 'Upgradable Software Product Customization by Code Query'. Together they form a unique fingerprint.

    Cite this