Skip to main content
Top

2016 | OriginalPaper | Chapter

Inferring Architectural Evolution from Source Code Analysis

A Tool-Supported Approach for the Detection of Architectural Tactics

Authors : Christel Kapto, Ghizlane El Boussaidi, Sègla Kpodjedo, Chouki Tibermacine

Published in: Software Architecture

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Several approaches have been proposed to study and provide information about the evolution of a software system, but very few proposals analyze and interpret this information at the architectural level. In this paper, we propose an approach that supports the understanding of software evolution at the architectural level. Our approach relies on the idea that an architectural tactic can be mapped to a number of operational representations, each of which is a transformation described using a set of elementary actions on source code entities (e.g., adding a package, moving a class from a package to another, etc.). These operational representations make it possible to: (1) detect architectural tactics’ application (or cancellation) by analyzing different versions of the source code of analyzed systems, and (2) understand the architectural evolution of these systems. To evaluate the proposed approach, we carried out a case study on the JFreeChart open source software. We focused on the modifiability tactics and we analyzed a number of available releases of JFreeChart. The results of our analysis revealed inconsistencies in the evolution of the system and some erratic applications and cancellations of modifiability tactics.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
For lack of space, we do not discuss in this paper the predefined actions and constraints that TacMatch provides, nor the specification language used to describe the tactics.
 
2
Both the Selector and the filter classes have their own fields which are set during their respective instantiation using the command parameter received by their respective constructor.
 
3
In some tactics, the same filter class can be instantiated more than once using different parameters (i.e., commands). Moreover, we use a filter class to instantiate a constraint or its opposite depending on the tactic’s definition.
 
4
In this three sequence-based schema, the first sequence is the major number (incremented when there are significant changes to the system), the second sequence is the minor number (incremented when there are minor changes to the system or significant bug fixes) and the last sequence is the revision number (incremented when minor bugs were fixed).
 
Literature
1.
go back to reference Negara, S., Vakilian, M., Chen, N., Johnson, R.E., Dig, D.: Is it dangerous to use version control histories to study source code evolution? In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 79–103. Springer, Heidelberg (2012). doi:10.1007/978-3-642-31057-7_5 CrossRef Negara, S., Vakilian, M., Chen, N., Johnson, R.E., Dig, D.: Is it dangerous to use version control histories to study source code evolution? In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 79–103. Springer, Heidelberg (2012). doi:10.​1007/​978-3-642-31057-7_​5 CrossRef
2.
go back to reference Garlan, D., Barnes, J.M., Schmerl, B.R., Celiku, O.: Evolution styles: foundations and tool support for software architecture evolution. In: WICSA/ECSA, pp. 131–140 (2009) Garlan, D., Barnes, J.M., Schmerl, B.R., Celiku, O.: Evolution styles: foundations and tool support for software architecture evolution. In: WICSA/ECSA, pp. 131–140 (2009)
3.
go back to reference Garlan, D., Schmerl, B.: Ævol: a tool for defining and planning architecture evolution. In: the 31st International Conference on Software Engineering, pp. 591–594 (2009) Garlan, D., Schmerl, B.: Ævol: a tool for defining and planning architecture evolution. In: the 31st International Conference on Software Engineering, pp. 591–594 (2009)
4.
go back to reference Tonu, S.A, Ashkan, A, Tahvildari, L.: Evaluating architectural stability using a metric-based approach. In: CSMR 2006, 22–24 March 2006, p. 10, 270 (2006) Tonu, S.A, Ashkan, A, Tahvildari, L.: Evaluating architectural stability using a metric-based approach. In: CSMR 2006, 22–24 March 2006, p. 10, 270 (2006)
5.
go back to reference McNair, A., German, D.M., Weber-Jahnke, J.: Visualizing software architecture evolution using change-sets. In: WCRE 2007, 28–31 October 2007, pp. 130–139 (2007) McNair, A., German, D.M., Weber-Jahnke, J.: Visualizing software architecture evolution using change-sets. In: WCRE 2007, 28–31 October 2007, pp. 130–139 (2007)
6.
go back to reference Abi-Antoun, M., Aldrich, J., Nahas, N., Schmerl, B., Garlan, D.: Differencing and merging of architectural views. ASE 15(1), 35–74 (2008) Abi-Antoun, M., Aldrich, J., Nahas, N., Schmerl, B., Garlan, D.: Differencing and merging of architectural views. ASE 15(1), 35–74 (2008)
7.
go back to reference Breivold, H.P., Crnkovic, I., Larsson, M.: A systematic review of software architecture evolution research. IST 54(1), 16–40 (2012) Breivold, H.P., Crnkovic, I., Larsson, M.: A systematic review of software architecture evolution research. IST 54(1), 16–40 (2012)
8.
go back to reference Le, D.M., Behnamghader, P., Garcia, J., Link, D., Shahbazian, A., Medvidovic, N.: An empirical study of architectural change in open-source software systems. In: IEEE/ACM 12th Working Conference on Mining Software Repositories, Florence, pp. 235–245 (2015) Le, D.M., Behnamghader, P., Garcia, J., Link, D., Shahbazian, A., Medvidovic, N.: An empirical study of architectural change in open-source software systems. In: IEEE/ACM 12th Working Conference on Mining Software Repositories, Florence, pp. 235–245 (2015)
9.
go back to reference Eden, A.H., Kazman, R.: Architecture design implementation. In: 25th International Conference on Software Engineering, pp. 149–159 (2003) Eden, A.H., Kazman, R.: Architecture design implementation. In: 25th International Conference on Software Engineering, pp. 149–159 (2003)
10.
go back to reference Fairbanks, G.: Just Enough Software Architecture: A Risk-Driven Approach. Marshall & Brainerd, Boulder (2010) Fairbanks, G.: Just Enough Software Architecture: A Risk-Driven Approach. Marshall & Brainerd, Boulder (2010)
11.
go back to reference Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Boston (2003) Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Boston (2003)
12.
go back to reference Bachmann, et al.: Modifiability tactics, CMU Software Engineering Institute Technical Report CMU/SEI-2007-TR-002 Bachmann, et al.: Modifiability tactics, CMU Software Engineering Institute Technical Report CMU/SEI-2007-TR-002
13.
go back to reference D’Ambros, M., Gall, H., Lanza, M., Pinzger, M.: Analysing software repositories to understand software evolution. In: D’Ambros, M., Gall, H., Lanza, M., Pinzger, M. (eds.) Software Evolution, pp. 37–67. Springer, Heidelberg (2008)CrossRef D’Ambros, M., Gall, H., Lanza, M., Pinzger, M.: Analysing software repositories to understand software evolution. In: D’Ambros, M., Gall, H., Lanza, M., Pinzger, M. (eds.) Software Evolution, pp. 37–67. Springer, Heidelberg (2008)CrossRef
14.
go back to reference Kim, M., Gee, M., Loh, A., Rachatasumrit, N.: Ref-Finder: a refactoring reconstruction tool based on logic query templates. In: FSE 2010, Santa Fe, New Mexico, USA, pp. 371–372 (2010) Kim, M., Gee, M., Loh, A., Rachatasumrit, N.: Ref-Finder: a refactoring reconstruction tool based on logic query templates. In: FSE 2010, Santa Fe, New Mexico, USA, pp. 371–372 (2010)
15.
go back to reference Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)MATH Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)MATH
16.
go back to reference Kpodjedo, S., et al.: Madmatch: many-to-many approximate diagram matching for design comparison. IEEE Trans. Softw. Eng. 39(8), 1090–1111 (2013)CrossRef Kpodjedo, S., et al.: Madmatch: many-to-many approximate diagram matching for design comparison. IEEE Trans. Softw. Eng. 39(8), 1090–1111 (2013)CrossRef
17.
18.
go back to reference Gueheneuc, Y.G., Antoniol, G.: DeMIMA: a multilayered approach for design pattern identification. IEEE Trans. Softw. Eng. 34(5), 667–684 (2008)CrossRef Gueheneuc, Y.G., Antoniol, G.: DeMIMA: a multilayered approach for design pattern identification. IEEE Trans. Softw. Eng. 34(5), 667–684 (2008)CrossRef
19.
go back to reference Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)MATH Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)MATH
20.
go back to reference Barnes, J.M., Garlan, D.: Challenges in developing a software architecture evolution tool as a plug-in. In: 3rd International Workshop on Developing Tools as Plug-ins (TOPI), San Francisco, CA, pp. 13–18 (2013) Barnes, J.M., Garlan, D.: Challenges in developing a software architecture evolution tool as a plug-in. In: 3rd International Workshop on Developing Tools as Plug-ins (TOPI), San Francisco, CA, pp. 13–18 (2013)
Metadata
Title
Inferring Architectural Evolution from Source Code Analysis
Authors
Christel Kapto
Ghizlane El Boussaidi
Sègla Kpodjedo
Chouki Tibermacine
Copyright Year
2016
DOI
https://doi.org/10.1007/978-3-319-48992-6_11

Premium Partner