Evolution of component relationships between framework and application

Reishi Yokomori, Harvey Siy, Norihiro Yoshida, Masami Noro, Katsuro Inoue

Research output: Contribution to journalArticlepeer-review


Most of today's software applications are built on top of libraries or frameworks. The increasing number of cloud-based services gives rise to 3 rd party frameworks that offer such services from a cloud platform. Just as applications evolve, frameworks also evolve. Such evolution is even more pronounced in frameworks that underlie cloud-based services. Upgrading is straightforward when the framework changes preserve the API and behavior of the offered services. However, major changes are introduced with the new framework release, which have a significant impact on the application. A framework user has to consider how to adjust to the new version. In this paper, we study the evolution of an application and its underlying framework through a multi-version analysis. For the analysis, we investigate two kinds of component relationships: one is component rank, the other is clone relation. Component rank measurement is a way of quantifying the importance of a component by its usage. As framework components are used by applications, the rankings of the components are changed. We confirm that upgrading to the new framework version has an impact to a component rank of the entire system. On the other hand, existence of code clone shows how application developers use existing framework code as a reference, and removal of clones shows which reuse activities were recognized as problematic. Analysis of results from these relationships provides useful insights into developers' activities.

Original languageEnglish (US)
Pages (from-to)61-79
Number of pages19
JournalJournal of Computers
Issue number2
StatePublished - Jul 2012


  • Clone-relation
  • Component relationships
  • Software evolution
  • Use-relation

ASJC Scopus subject areas

  • Computer Science(all)


Dive into the research topics of 'Evolution of component relationships between framework and application'. Together they form a unique fingerprint.

Cite this