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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bohnet, J., Döllner, J.: Visual exploration of function call graphs for feature location in complex software systems. In: SOFTVIS, pp. 95–104 (2006)
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)
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Trans. Software Eng. 29(3), 210–224 (2003)
Erlikh, L.: Leveraging legacy system dollars for e-business. IEEE IT Professional 2(3) (2000)
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)
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)
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)
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)
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)
Lehman, M., Belady, L.: Program evolution: Process of software change. Academic Press, London (1985)
Lientz, B.P., Swanson, E.B.: Problems in application software maintenance. Communiactions of the ACM 24(11) (1981)
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)
Maqbool, O., Babri, H.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33(11), 759–780 (2007)
McKee, J.: Maintenance as function of design. In: AFIPS National Computer Conference, pp. 187–193 (1984)
Medvidovic, N., Jakobac, V.: Using software evolution to focus architectural recovery. Automated Software Engg. 13(2), 225–256 (2006)
Mitchell, B.S., Mancoridis, S.: On the evaluation of the bunch search-based software modularization algorithm. Soft. Comput. 12(1), 77–93 (2008)
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)
Seacord, R.C., Plakosh, D., Lewis, G.A.: Modernizing legacy systems: Software technologies, engineering processes, and business practices. SEI Series in Software Engineering (2003)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)