Remodularizing Java programs for comprehension of features

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review


Feature-oriented decomposition of software is known to improve a programmer's ability to understand and modify software during maintenance tasks. However, it is difficult to take advantage of this fact in case of object-oriented software due to lack of appropriate feature modularization mechanisms. In absence of these mechanisms, feature implementations tend to be scattered and tangled in terms of object-oriented abstractions, making the code implementing features difficult to locate and comprehend. In this paper we present a semi-automatic method for feature-oriented remodularization of Java programs. Our method uses execution traces to locate implementations of features, and Java packages to establish explicit feature modules. To evaluate usefulness of the approach, we present a case study where we apply our method to two real-world software systems. The obtained results indicate a significant improvement of feature representation in both programs, and confirm the low level of manual effort required by the proposed remodularization method.
Original languageEnglish
Title of host publicationProceedings of the First International Workshop on Feature-Oriented Software Development (FOSD)
EditorsSven Apel, William Cook, Krzysztof Czarnecki, Christian Kaestner, Neil Loughran, Oscar Nierstrasz
Number of pages7
PublisherAssociation for Computing Machinery
Publication date2009
ISBN (Print)978-1-60558-567-3
ISBN (Electronic)978-1-60558-567-3
Publication statusPublished - 2009
EventFirst International Workshop on Feature-Oriented Software Development (FOSD) - Denver, United States
Duration: 6. Oct 20096. Oct 2009
Conference number: 1


ConferenceFirst International Workshop on Feature-Oriented Software Development (FOSD)
CountryUnited States


  • features
  • feature location
  • remodularization


Dive into the research topics of '<strong>Remodularizing Java programs for comprehension of features</strong>'. Together they form a unique fingerprint.

Cite this