Skip to main content

Restructuring Object-Oriented Applications into Component-Oriented Applications by Using Consistency with Execution Traces

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6092))

Abstract

Software systems should evolve in order to respond to changing client requirements and their evolving environments. But unfortunately, the evolution of legacy applications generates an exorbitant cost. In this paper, we propose an approach to restructure legacy object-oriented applications into component-based applications. Our approach is based on dynamic dependencies between classes to identify potential components. In this way, the composition is dictated by the context of the application to improve its evolvability. We validate our approach through the study of three legacy Java applications.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bohnet, J., Döllner, J.: Visual exploration of function call graphs for feature location in complex software systems. In: SOFTVIS, pp. 95–104 (2006)

    Google Scholar 

  2. Chardigny, S., Seriai, A., Tamzalit, D., Oussalah, M.: Quality-driven extraction of a component-based architecture from an object-oriented system. In: CSMR, pp. 269–273 (2008)

    Google Scholar 

  3. Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Trans. Software Eng. 29(3), 210–224 (2003)

    Article  Google Scholar 

  4. Erlikh, L.: Leveraging legacy system dollars for e-business. IEEE IT Professional 2(3) (2000)

    Google Scholar 

  5. George, B., Fleurquin, R., Sadou, S.: A methodological approach for selecting components in development and evolution process. Electronic Notes on Theoretical Computer Science (ENTCS) 6(2), 111–140 (2007)

    Google Scholar 

  6. Greevy, O., Ducasse, S.: Correlating features and code using a compact two-sided trace analysis approach. In: CSMR, pp. 314–323. IEEE Computer Society, Los Alamitos (2005)

    Google Scholar 

  7. Kadri, R., Merciol, F., Sadou, S.: CBSE in Small and Medium-Sized Enterprise: Experience Report. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 154–165. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Kelner, V., Capitanescu, F., Léonard, O., Wehenkel, L.: A hybrid optimization technique coupling an evolutionary and a local search algorithm. J. Comput. Appl. Math. 215(2), 448–456 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  9. Kessentini, M., Sahraoui, H., Boukadoum, M.: Model transformation as an optimization problem. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 159–173. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Lehman, M., Belady, L.: Program evolution: Process of software change. Academic Press, London (1985)

    Google Scholar 

  11. Lientz, B.P., Swanson, E.B.: Problems in application software maintenance. Communiactions of the ACM 24(11) (1981)

    Google Scholar 

  12. Liu, D., Marcus, A., Poshyvanyk, D., Rajlich, V.: Feature location via information retrieval based filtering of a single scenario execution trace. In: Stirewalt, R.E.K., Egyed, A., Fischer, B. (eds.) ASE, pp. 234–243 (2007)

    Google Scholar 

  13. Maqbool, O., Babri, H.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33(11), 759–780 (2007)

    Article  Google Scholar 

  14. McKee, J.: Maintenance as function of design. In: AFIPS National Computer Conference, pp. 187–193 (1984)

    Google Scholar 

  15. Medvidovic, N., Jakobac, V.: Using software evolution to focus architectural recovery. Automated Software Engg. 13(2), 225–256 (2006)

    Article  Google Scholar 

  16. Mitchell, B.S., Mancoridis, S.: On the evaluation of the bunch search-based software modularization algorithm. Soft. Comput. 12(1), 77–93 (2008)

    Article  Google Scholar 

  17. Poshyvanyk, D., Guéhéneuc, Y.-G., Marcus, A., Antoniol, G., Rajlich, V.: Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. IEEE Trans. Software Eng. 33(6), 420–432 (2007)

    Article  Google Scholar 

  18. Seacord, R.C., Plakosh, D., Lewis, G.A.: Modernizing legacy systems: Software technologies, engineering processes, and business practices. SEI Series in Software Engineering (2003)

    Google Scholar 

  19. Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: GECCO, pp. 1909–1916. ACM, New York (2006)

    Google Scholar 

  20. Washizaki, H., Fukazawa, Y.: A technique for automatic component extraction from object-oriented programs by refactoring. Sci. Comput. Program. 56(1-2), 99–116 (2005)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Allier, S., Sahraoui, H.A., Sadou, S., Vaucher, S. (2010). Restructuring Object-Oriented Applications into Component-Oriented Applications by Using Consistency with Execution Traces. In: Grunske, L., Reussner, R., Plasil, F. (eds) Component-Based Software Engineering. CBSE 2010. Lecture Notes in Computer Science, vol 6092. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13238-4_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13238-4_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13237-7

  • Online ISBN: 978-3-642-13238-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics