Skip to main content
Erschienen in: Empirical Software Engineering 3/2014

01.06.2014

Examination of the software architecture change characterization scheme using three empirical studies

verfasst von: Byron J. Williams, Jeffrey C. Carver

Erschienen in: Empirical Software Engineering | Ausgabe 3/2014

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Software maintenance is one of the most crucial aspects of software development. Software engineering researchers must develop practical solutions to handle the challenges presented in maintaining mature software systems. Research that addresses practical means of mitigating the risks involved when changing software, reducing the complexity of mature software systems, and eliminating the introduction of preventable bugs is paramount to today’s software engineering discipline. The Software Architecture Change Characterization Scheme (SACCS) provides software maintainers with a systematic approach to analyzing and characterizing the impact of a change prior to its implementation. SACCS was designed to help novice developers understand change requests, facilitate discussion among developers, and provide a higher-quality change compared with an ad hoc approach. In addition, this paper describes three controlled experiments designed to assess the viability of using SACCS and its ability to fulfill its goals. The successive studies build upon each other to enable progressive insights into the viability of the scheme. The results indicate that SACCS: 1) provides insight into the difficulty of a change request by assisting novice developers to consider various aspects of the request’s potential to impact the system, 2) helps to facilitate discussion among developers by providing a common tool for change assessment, and 3) is a useful tool for supporting change implementation. The three experiments provide insight into the usefulness of SACCS, motivate additional research questions, and serve as a baseline for moving forward with research and further development of the approach.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

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+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!

Literatur
Zurück zum Zitat Basili V, Caldiera G, Rombach HD (1994) The Goal Question Metric Paradigm. In: Marciniak JJ (ed) Encyclopedia of Software Engineering. Wiley, New York, pp 528–532 Basili V, Caldiera G, Rombach HD (1994) The Goal Question Metric Paradigm. In: Marciniak JJ (ed) Encyclopedia of Software Engineering. Wiley, New York, pp 528–532
Zurück zum Zitat Batory D (2005) Feature models, grammars, and propositional formulas. Paper presented at the Proceedings of the 9th international conference on Software Product Lines, Rennes, France Batory D (2005) Feature models, grammars, and propositional formulas. Paper presented at the Proceedings of the 9th international conference on Software Product Lines, Rennes, France
Zurück zum Zitat Belady LA, Lehman MM (1976) A Model of Large Program Development. IBM Syst J 15(1):225–252CrossRefMATH Belady LA, Lehman MM (1976) A Model of Large Program Development. IBM Syst J 15(1):225–252CrossRefMATH
Zurück zum Zitat Bosch J (2000) Design and Use of Software Architectures. Addison Wesley Bosch J (2000) Design and Use of Software Architectures. Addison Wesley
Zurück zum Zitat Briand LC, Labiche Y, O'Sullivan L (2003) Impact analysis and change management of UML models. In: Proceedings of the International Conference on Software Maintenance, pp 256–265 Briand LC, Labiche Y, O'Sullivan L (2003) Impact analysis and change management of UML models. In: Proceedings of the International Conference on Software Maintenance, pp 256–265
Zurück zum Zitat Briand LC, Labiche Y, O’Sullivan L, Sûwka MM (2006) Automated impact analysis of UML models. J Syst Softw 79(3):339–352CrossRef Briand LC, Labiche Y, O’Sullivan L, Sûwka MM (2006) Automated impact analysis of UML models. J Syst Softw 79(3):339–352CrossRef
Zurück zum Zitat Brooks F (1975) The Mythical Man-Month. Addison-Wesley Brooks F (1975) The Mythical Man-Month. Addison-Wesley
Zurück zum Zitat Carver J, Jaccheri L, Morasca S, Shull F (2003) Issues in using students in empirical studies in software engineering education. In: Proceedings of the Ninth International Software Metrics Symposium, pp 239–249 Carver J, Jaccheri L, Morasca S, Shull F (2003) Issues in using students in empirical studies in software engineering education. In: Proceedings of the Ninth International Software Metrics Symposium, pp 239–249
Zurück zum Zitat Chaumun MA, Kabaili H, Keller RK, Lustman F (2002) A change impact model for changeability assessment in object-oriented software systems. Sci Comput Program 45(2):155–177CrossRefMATH Chaumun MA, Kabaili H, Keller RK, Lustman F (2002) A change impact model for changeability assessment in object-oriented software systems. Sci Comput Program 45(2):155–177CrossRefMATH
Zurück zum Zitat Chesley OC, Ren X, Ryder BG (2005) Crisp: a debugging tool for Java programs. In, pp 401–410 Chesley OC, Ren X, Ryder BG (2005) Crisp: a debugging tool for Java programs. In, pp 401–410
Zurück zum Zitat Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Merson P, Nord R, Stafford J (2010) Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Merson P, Nord R, Stafford J (2010) Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional
Zurück zum Zitat Cook S, He J, Harrison R (2001) Dynamic and static views of software evolution. Software Maintenance, 2001 Proceedings IEEE International Conference on, pp 592–601 Cook S, He J, Harrison R (2001) Dynamic and static views of software evolution. Software Maintenance, 2001 Proceedings IEEE International Conference on, pp 592–601
Zurück zum Zitat Dennis G (2003) TSAFE: Building a Trusted Computing Base for Air Traffic Control Software. Dissertation, Massachusetts Institue of Technology Dennis G (2003) TSAFE: Building a Trusted Computing Base for Air Traffic Control Software. Dissertation, Massachusetts Institue of Technology
Zurück zum Zitat Eick SG, Graves TL, Karr AF, Marron JS, Mockus A (2001) Does code decay? Assessing the evidence from change management data. IEEE Trans Softw Eng 27(1):1–12CrossRef Eick SG, Graves TL, Karr AF, Marron JS, Mockus A (2001) Does code decay? Assessing the evidence from change management data. IEEE Trans Softw Eng 27(1):1–12CrossRef
Zurück zum Zitat Ferzund J, Ahsan SN, Wotawa F (2009) Software change classification using hunk metrics. In: Software Maintenance, 2009. ICSM 2009. IEEE International Conference on, 20–26 Sept. 2009. pp 471–474. doi:10.1109/icsm.2009.5306274 Ferzund J, Ahsan SN, Wotawa F (2009) Software change classification using hunk metrics. In: Software Maintenance, 2009. ICSM 2009. IEEE International Conference on, 20–26 Sept. 2009. pp 471–474. doi:10.​1109/​icsm.​2009.​5306274
Zurück zum Zitat Fluri B, Gall HC (2006) Classifying Change Types for Qualifying Change Couplings. In: Proceedings of the 14th IEEE Conference on Program Comprehension, Athens, Greece, pp 35–45 Fluri B, Gall HC (2006) Classifying Change Types for Qualifying Change Couplings. In: Proceedings of the 14th IEEE Conference on Program Comprehension, Athens, Greece, pp 35–45
Zurück zum Zitat Giroux O, Robillard MP (2006) Detecting increases in feature coupling using regression tests. Paper presented at the Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, Portland, Oregon, USA Giroux O, Robillard MP (2006) Detecting increases in feature coupling using regression tests. Paper presented at the Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, Portland, Oregon, USA
Zurück zum Zitat Godfrey MW, German DM (2008) The past, present, and future of software evolution. In: Frontiers of Software Maintenance, pp 129–138 Godfrey MW, German DM (2008) The past, present, and future of software evolution. In: Frontiers of Software Maintenance, pp 129–138
Zurück zum Zitat Godfrey MW, Tu Q (2000) Evolution in open source software: A case study. Proceedings of the International Conference on Software Maintenance, pp 131–142 Godfrey MW, Tu Q (2000) Evolution in open source software: A case study. Proceedings of the International Conference on Software Maintenance, pp 131–142
Zurück zum Zitat Graves TL, Mockus A (1998) Inferring change effort from configuration management databases. In: Software Metrics Symposium, 1998. Metrics 1998. Proceedings. Fifth International, pp 267–273 Graves TL, Mockus A (1998) Inferring change effort from configuration management databases. In: Software Metrics Symposium, 1998. Metrics 1998. Proceedings. Fifth International, pp 267–273
Zurück zum Zitat Herraiz I, Robles G, Gonzalez-Barahona JM, Capiluppi A, Ramil JF (2006) Comparison between SLOCs and number of files as size metrics for software evolution analysis. In: Proceedings of the 10th European Conference on Software Maintenance and Reengineering, pp 203–210 Herraiz I, Robles G, Gonzalez-Barahona JM, Capiluppi A, Ramil JF (2006) Comparison between SLOCs and number of files as size metrics for software evolution analysis. In: Proceedings of the 10th European Conference on Software Maintenance and Reengineering, pp 203–210
Zurück zum Zitat Hochstein L, Lindvall M (2005) Combating architectural degeneration: a survey. Inf Softw Technol 47(10):643–656CrossRef Hochstein L, Lindvall M (2005) Combating architectural degeneration: a survey. Inf Softw Technol 47(10):643–656CrossRef
Zurück zum Zitat IEEE standard glossary of software engineering terminology (1990) IEEE Std 61012-1990 IEEE standard glossary of software engineering terminology (1990) IEEE Std 61012-1990
Zurück zum Zitat Kang K, Cohen S, Hess J, Nowak W, Peterson S (1990) Feature-oriented domain analysis (FODA) feasibility study. Carnegie Mellon University, Software Engineering Institute Kang K, Cohen S, Hess J, Nowak W, Peterson S (1990) Feature-oriented domain analysis (FODA) feasibility study. Carnegie Mellon University, Software Engineering Institute
Zurück zum Zitat Kim S, Whitehead EJ, Bevan J (2005) Analysis of signature change patterns. In: Proceedings of the 2005 international workshop on Mining software repositories, St. Louis, Missouri. ACM Press. doi:http://doi.acm.org/10.1145/1083142.1083154 Kim S, Whitehead EJ, Bevan J (2005) Analysis of signature change patterns. In: Proceedings of the 2005 international workshop on Mining software repositories, St. Louis, Missouri. ACM Press. doi:http://​doi.​acm.​org/​10.​1145/​1083142.​1083154
Zurück zum Zitat Kung D, Gao J, Hsia P, Wen F, Toyoshima Y, Chen C (1994) Change impact identification in object oriented software maintenance. In: Proceedings of the International Conference onSoftware Maintenance, Victoria, BC, pp 202–211 Kung D, Gao J, Hsia P, Wen F, Toyoshima Y, Chen C (1994) Change impact identification in object oriented software maintenance. In: Proceedings of the International Conference onSoftware Maintenance, Victoria, BC, pp 202–211
Zurück zum Zitat Lehman MM (1980) Programs, life cycles, and laws of software evolution. Proc IEEE 68(9):1060–1076CrossRef Lehman MM (1980) Programs, life cycles, and laws of software evolution. Proc IEEE 68(9):1060–1076CrossRef
Zurück zum Zitat Lehman MM (1996) Feedback, evolution and software technology. In: Proceedings of the 10th International Process Support of Software Product Lines Software Process Workshop, pp 101–103 Lehman MM (1996) Feedback, evolution and software technology. In: Proceedings of the 10th International Process Support of Software Product Lines Software Process Workshop, pp 101–103
Zurück zum Zitat Lehman MM, Belady L (1985) Program Evolution - Processes of Software Change. Academic, London Lehman MM, Belady L (1985) Program Evolution - Processes of Software Change. Academic, London
Zurück zum Zitat Lehman MM, Perry DE, Ramil JF (1998a) Implications of evolution metrics on software maintenance. In: Proceedings of the International Conference on Software Maintenance, Bethesda, MD, pp 208–217 Lehman MM, Perry DE, Ramil JF (1998a) Implications of evolution metrics on software maintenance. In: Proceedings of the International Conference on Software Maintenance, Bethesda, MD, pp 208–217
Zurück zum Zitat Lehman MM, Perry DE, Ramil JF (1998b) On evidence supporting the FEAST hypothesis and the laws of software evolution. In: Proceedings of the Fifth International Software Metrics Symposium, pp 84–88 Lehman MM, Perry DE, Ramil JF (1998b) On evidence supporting the FEAST hypothesis and the laws of software evolution. In: Proceedings of the Fifth International Software Metrics Symposium, pp 84–88
Zurück zum Zitat Li PL, Shaw M, Herbsleb J, Ray B, Santhanam P (2004) Empirical evaluation of defect projection models for widely-deployed production software systems. SIGSOFT Softw Eng Notes 29(6):263–272, http://doi.acm.org/10.1145/1041685.1029930 CrossRef Li PL, Shaw M, Herbsleb J, Ray B, Santhanam P (2004) Empirical evaluation of defect projection models for widely-deployed production software systems. SIGSOFT Softw Eng Notes 29(6):263–272, http://​doi.​acm.​org/​10.​1145/​1041685.​1029930 CrossRef
Zurück zum Zitat Lientz B, Swanson B (1980) Software Maintenance Management Addison-Wesley Lientz B, Swanson B (1980) Software Maintenance Management Addison-Wesley
Zurück zum Zitat Lindvall M, Tesoriero R, Costa P (2002) Avoiding architectural degeneration: an evaluation process for software architecture. In: Proceedings of the Eighth IEEE Symposium on Software Metrics, pp 77–86 Lindvall M, Tesoriero R, Costa P (2002) Avoiding architectural degeneration: an evaluation process for software architecture. In: Proceedings of the Eighth IEEE Symposium on Software Metrics, pp 77–86
Zurück zum Zitat Mohagheghi P, Conradi R (2004) An empirical study of software change: origin, acceptance rate, and functionality vs. quality attributes. In: Proceedings of the 2004 International Symposium on Empirical Software Engineering (ISESE ‘04), pp 7–16 Mohagheghi P, Conradi R (2004) An empirical study of software change: origin, acceptance rate, and functionality vs. quality attributes. In: Proceedings of the 2004 International Symposium on Empirical Software Engineering (ISESE ‘04), pp 7–16
Zurück zum Zitat Nedstam J, Karlsson EA, Host M (2004) The architectural change process. In: Proceedings of the 2004 International Symposium on Empirical Software Engineering (ISESE ‘04), pp 27–36 Nedstam J, Karlsson EA, Host M (2004) The architectural change process. In: Proceedings of the 2004 International Symposium on Empirical Software Engineering (ISESE ‘04), pp 27–36
Zurück zum Zitat Nurmuliani N, Zowghi D, Williams SP (2004) Using card sorting technique to classify requirements change. In: Proceedings of the 12th IEEE International Requirements Engineering Conference, pp 240–248 Nurmuliani N, Zowghi D, Williams SP (2004) Using card sorting technique to classify requirements change. In: Proceedings of the 12th IEEE International Requirements Engineering Conference, pp 240–248
Zurück zum Zitat Ostrand TJ, Weyuker EJ, Bell RM (2007) Automating algorithms for the identification of fault-prone files. Paper presented at the Proceedings of the 2007 international symposium on Software testing and analysis, London, United Kingdom Ostrand TJ, Weyuker EJ, Bell RM (2007) Automating algorithms for the identification of fault-prone files. Paper presented at the Proceedings of the 2007 international symposium on Software testing and analysis, London, United Kingdom
Zurück zum Zitat Parnas DL (1994) Software Aging. In: Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy, pp 279–287 Parnas DL (1994) Software Aging. In: Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy, pp 279–287
Zurück zum Zitat Raja U, Barry E (2005) Investigating quality in large-scale Open Source Software. Paper presented at the Proceedings of the fifth workshop on Open source software engineering, St. Louis, Missouri Raja U, Barry E (2005) Investigating quality in large-scale Open Source Software. Paper presented at the Proceedings of the fifth workshop on Open source software engineering, St. Louis, Missouri
Zurück zum Zitat Ren X, Shah F, Tip F, Ryder BG, Chesley O (2004a) Chianti: a tool for change impact analysis of java programs. Paper presented at the Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, Vancouver, BC, Canada Ren X, Shah F, Tip F, Ryder BG, Chesley O (2004a) Chianti: a tool for change impact analysis of java programs. Paper presented at the Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, Vancouver, BC, Canada
Zurück zum Zitat Ren X, Shah F, Tip F, Ryder BG, Chesley O (2004b) Chianti: a tool for change impact analysis of java programs. In: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications. ACM Press, Vancouver, BC, Canada, pp 432–448 Ren X, Shah F, Tip F, Ryder BG, Chesley O (2004b) Chianti: a tool for change impact analysis of java programs. In: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-oriented programming, systems, languages, and applications. ACM Press, Vancouver, BC, Canada, pp 432–448
Zurück zum Zitat Sommerville I (2004) Software Engineering, 7th edn. Addison-Wesley Sommerville I (2004) Software Engineering, 7th edn. Addison-Wesley
Zurück zum Zitat Van Rysselberghe F, Demeyer S (2004) Mining Version Control Systems for FACs (Frequently Applied Changes). In: 26th International Conference on Software Engineering, Edinburgh, Scotland, pp 48–52 Van Rysselberghe F, Demeyer S (2004) Mining Version Control Systems for FACs (Frequently Applied Changes). In: 26th International Conference on Software Engineering, Edinburgh, Scotland, pp 48–52
Zurück zum Zitat Williams B (2006) A Framework for Assessing the Impact of Software Changes to Software Architecture Using Change Classification. Master's Thesis, Mississippi State University, Starkville, MS Williams B (2006) A Framework for Assessing the Impact of Software Changes to Software Architecture Using Change Classification. Master's Thesis, Mississippi State University, Starkville, MS
Zurück zum Zitat Williams B (2009) Change Decision Support: Extraction and Analysis of Late Architecture Chagnes Using Change Characterization and Software Metrics. Doctoral Dissertation, Mississippi State University, Starkville, MS Williams B (2009) Change Decision Support: Extraction and Analysis of Late Architecture Chagnes Using Change Characterization and Software Metrics. Doctoral Dissertation, Mississippi State University, Starkville, MS
Zurück zum Zitat Williams B, Carver J (2007) Characterizing Software Architecture Changes: An Initial Study. In: Proceedings of the First International Conference on Empirical Software Engineering and Measurement, Madrid, Spain, pp 410–419 Williams B, Carver J (2007) Characterizing Software Architecture Changes: An Initial Study. In: Proceedings of the First International Conference on Empirical Software Engineering and Measurement, Madrid, Spain, pp 410–419
Zurück zum Zitat Williams B, Carver J (2010) Characterizing Software Architecture Changes: A Systematic Review. Inf Softw Technol 52(1):31–51CrossRef Williams B, Carver J (2010) Characterizing Software Architecture Changes: A Systematic Review. Inf Softw Technol 52(1):31–51CrossRef
Metadaten
Titel
Examination of the software architecture change characterization scheme using three empirical studies
verfasst von
Byron J. Williams
Jeffrey C. Carver
Publikationsdatum
01.06.2014
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 3/2014
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-012-9223-y

Weitere Artikel der Ausgabe 3/2014

Empirical Software Engineering 3/2014 Zur Ausgabe

Premium Partner