Skip to main content
Log in

Software architecture-based analysis and testing: a look into achievements and future challenges

  • Editorial
  • Published:
Computing Aims and scope Submit manuscript

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Notes

  1. See: http://www.di.univaq.it/muccini/Rosatea2006/.

  2. See: http://www.di.univaq.it/muccini/Rosatea2007.

  3. See: http://www.cs.kent.ac.uk/people/staff/rdl/ADSFuture/resources.htm.

  4. See: http://www.cs.bilkent.edu.tr/ABT-2011/.

  5. See: http://labsewiki.isti.cnr.it/projects/ast/ast2011pisa/main.

  6. See: http://wwwp.dnsalias.org/wiki/WICSA_2011_BABT:_Architecture-based_Testing.

  7. See: http://www.sei.cmu.edu/architecture/tools/evaluate/systematam.cfm?location=quaternary-nav&source=651988.

  8. See: http://www.doc.ic.ac.uk/ltsa/.

  9. See: http://www.sei.cmu.edu/architecture/research/archpractices/More-Architecture-Support-for-Testing.cfm.

  10. A model problem is considered a problem that, if solved, would result in a significant improvement over current testing practice.

  11. See: http://labsewiki.isti.cnr.it/projects/ast/ast2011pisa/main.

  12. See: http://www.sei.cmu.edu/community/mobs2013/.

  13. Project page is maintained here: http://vds1628.sivit.org/tas3/.

References

  1. IEEE Standard Computer Dictionary (1991) A compilation of IEEE standard computer glossaries. IEEE Std 610

  2. AutoFOCUS 3. Autofocus project. http://autofocus.in.tum.de/index.php/Main_Page, last visit: 2013

  3. Abi-Antoun M, Aldrich J, Garlan D, Schmerl B, Nahas N, Tseng T (2005) Improving system dependability by enforcing architectural intent. In: Proceedings of the 2005 workshop on architecting dependable systems, WADS ’05. ACM , New York, pp 1–7

  4. Allen R, Garlan D (1997) A formal basis for architectural connection. ACM Trans Softw Eng Methodol 6(3):213–249

    Google Scholar 

  5. Autili M, Cortellessa V, Di Ruscio D, Inverardi P, Pelliccione P, Tivoli M (2012) Integration architecture synthesis for taming uncertainty in the digital space. In: Calinescu R, David (eds) Monterey workshop, volume 7539 of Lecture Notes in Computer Science. Springer, Berlin, pp 118–131

  6. Avizienis A, Laprie J-C, Randell B, Landwehr CE (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Sec Comput 1(1):11–33

    Google Scholar 

  7. Balsamo S, Inverardi P, Mangano C (1998) An approach to performance evaluation of software architectures. In: Proceedings of the 1st international workshop on software and performance, WOSP ’98. ACM, New York, pp 178–190

  8. Balsamo S, Di Marco A, Inverardi P, Simeoni M (2004) Model-based performance prediction in software development: A survey. IEEE Trans. Software Eng. 30(5):295–310

    Google Scholar 

  9. Beder DM, Romanovsky A, Randell B, Rubira CMF (2001) On applying coordinated atomic actions and dependable software architectures in developing complex systems. 4th IEEE international symposium on object-oriented real-time distributed computing (ISORC’01), Magdeburg

  10. Bertolino A, De Angelis G, Kellomaki S, Polini A (2012) Enhancing service federation trustworthiness through online testing. IEEE Computer 45(1):66–72

    Google Scholar 

  11. Bertolino A, Corradini F, Inverardi P, Muccini H (2000) Deriving test plans from architectural descriptions. In: Ghezzi C, Jazayeri M, Wolf AL (eds) ICS. ACM, New York, pp 220–229

  12. Bertolino A, Inverardi P (1996) Architecture-based software testing. In: Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints ’96) on SIGSOFT ’96 workshops, ISAW ’96. ACM, New York, pp 62–64

  13. Bertolino A, Inverardi P, Muccini H (2001) An explorative journey from architectural tests definition downto code tests execution. In: Müller HA, Harrold MJ, Schäfer W (eds) ICSE. IEEE Computer Society, pp 211–220

  14. Bertolino A, Inverardi P, Muccini H, Rosetti A (1997) An approach to integration testing based on architectural descriptions. ICECCS. IEEE Computer Society, p 77

  15. Bosch J (2000) Design and use of software architectures: adopting and evolving a product-line approach, 1st edn. Addison-Wesley Professional, Boston

  16. Bose P (1999) Automated translation of UML models of architectures for verification and simulation using spin. In: Proceedings of 14th IEEE international conference on automated software engineering, Cocoa Beach, pp 102–109

  17. Brito PH, Lemos R, Rubira CM (2008) Development of fault-tolerant software systems based on architectural abstractions. In: Proceedings of the 2nd European conference on software Architecture, ECSA ’08. Springer, Berlin, pp 131–147

  18. Brito PHS, de Lemos R, Rubira CMF, Martins E (2009) Architecting fault tolerance with exception handling: verification and validation. J Comput Sci Technol 24(2):212–237

    Google Scholar 

  19. Brosch F, Koziolek H, Buhnova B, Reussner R (2012) Architecture-based reliability prediction with the palladio component model. IEEE Trans Softw Eng 38(6):1319–1339

    Google Scholar 

  20. Burmester S, Holger G, Hirsch M, Schilling D, Tichy M (2005) The Fujaba real-time tool suite: model-driven development of safety-critical, real-time systems. In: International conference on software engineering, ICSE, pp 670–671

  21. Cheung L, Roshandel R, Medvidovic N, Golubchik L (2008) Early prediction of software component reliability. In: Proceedings of the 30th international conference on software engineering, ICSE ’08. ACM, New York, pp 111–120

  22. Ciancarini P, Franzé F, Mascolo C (2000) Using a coordination language to specify and analyze systems containing mobile components. ACM Trans Softw Eng Methodol 9(2):167–198

    Google Scholar 

  23. Clarke EM, Grumberg O, Peled DA (1999) Model checking. MIT press, Cambridge

  24. 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, 2nd edn. Addison-Wesley Professional, Boston

  25. Corradini F, Inverardi P, Wolf AL (2006) On relating functional specifications to architectural specifications: a case study. Sci Comput Program 59(3):171–208

    Google Scholar 

  26. da Brito PHS, Rocha CR, Filho FC, Martins E, Rubira CMF (2005) A method for modeling and testing exceptions in component-based software development. In: Proceedings of the second Latin-American conference on dependable computing, LADC’05. Springer, Berlin, pp 61–79

  27. Das O, Woodside CM (2004) Analyzing the effectiveness of fault-management architectures in layered distributed systems. Perform Eval 56(1–4):93–120

    Google Scholar 

  28. de Guerra PAC, Rubira CMF, Romanovsky A, de Lemos R (2004) A dependable architecture for cots-based software systems using protective wrappers. In: Lemos R, Gacek C, Romanovsky A (eds) Architecting dependable systems II, volume 3069 of Lecture Notes in Computer Science. Springer, Berlin, pp 144–166

  29. de Lemos R (2004) Analysing failure behaviours in component interaction. J Syst Softw 71(1–2):97–115

    Google Scholar 

  30. Dialani V, Miles S, Moreau L, De Roure D, Luck M (2002) Transparent fault tolerance for web services based architectures. In: Proceedings of the 8th international Euro-Par conference on parallel processing, Euro-Par ’02. Springer, London, pp 889–898

  31. Dobrica L, Niemela E (July 2002) A survey on software architecture analysis methods. IEEE Trans Softw Eng 28(7):638–653

  32. Domokos P, Majzik I (2005) Design and analysis of fault tolerant architectures by model weaving. In: Proceedings of the ninth IEEE international symposium on high-assurance systems engineering, HASE ’05. IEEE Computer Society, Washington, DC, pp 15–24

  33. Dragoni N, Gaspari M (2005) An object based algebra for specifying a fault tolerant software architecture. J Logic Algebr Program 63(2):271–297 (Special Issue on Process Algebra and System Architecture)

    Google Scholar 

  34. Esfahani N, Malek S, Razavi K (2013) Guidearch: guiding the exploration of architectural solution space under uncertainty. In: Proceedings of the 2013 international conference on software engineering, ICSE ’13. IEEE Press, Piscataway, pp 43–52

  35. Everton Cavalcante ALM, Batista T (2013) Cloud-adl: an architecture description language for modeling cloud computing applications. In: Proceedings of the 7th European conference on software architecture, ECSA ’13. Springer, Berlin, pp 320–323

  36. Fairbanks GH (2010) Just enough software architecture: a risk-driven approach, 1st edn. Marshall and Brainerd

  37. Fujaba Project (2005) http://www.cs.uni-paderborn.de/cs/fujaba/publications/index.html. University of Paderborn, Software Engineering Group

  38. Garlan D (2010) Software engineering in an uncertain world. In; Proceedings of the FSE/SDP workshop on future of software engineering research, FoSER ’10. ACM, New york, pp 125–128

  39. Garlan D, Cheng S-W, Huang A-C, Schmerl BR, Steenkiste P (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput 37(10):46–54

    Google Scholar 

  40. Goseva-Popstojanova K, Trivedi KS (2001) Architecture-based approach to reliability assessment of software systems. Perform Eval 45(2–3):179–204

    Google Scholar 

  41. Harrold MJ (1998) Architecture-based regression testing of evolving systems. In: Proceedings of the international workshop on the role of software architecture in testing and analysis—ROSATEA 98, pp 73–77

  42. Harrold MJ (2000). Testing: a roadmap. In: Finkelstein A (ed) ACM ICSE 2000, the future of software engineering, pp 61–72

  43. He X (2005) A framework for ensuring system dependability from design to implementation. In: Proceedings of the 3rd international workshop on modelling, simulation, verification and validation of enterprise information systems, MSVVEIS 2005. In conjunction with ICEIS 2005

  44. Heyman T, Scandariato R, Joosen W (2012) Reusable formal models for secure software architectures. In: 2012 Joint working IEEE/IFIP conference on software architecture (WICSA) and European conference on software architecture (ECSA), pp 41–50

  45. Immonen A, Niemel E (2008) Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw Syst Model 7(1):49–65

    Google Scholar 

  46. ISO/IEC/IEEE (2011) ISO/IEC/IEEE 42010:2011 systems and software engineering—architecture description

  47. Jin Z, Offutt J (2001) Deriving tests from software architectures. In: Proceedings 12th international symposium on software reliability engineering, ISSRE 2001, pp 308–313

  48. Koziolek H (2010) Performance evaluation of component-based software systems: A survey. Perform. Eval. 67(8):634–658

    Google Scholar 

  49. Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: Briand LC, Wolf AL (eds) FOSE, pp 259–268

  50. Kruchten P (2004) An ontology of architectural design decisions in software intensive systems. 2nd Groningen workshop on software variability, pp 54–61

  51. Kuz I, Zhu L, Bass L, Staples M, Xu X (2012) An architectural approach for cost effective trustworthy systems. In: 2012 Joint working IEEE/IFIP conference on software architecture (WICSA) and European conference on software architecture (ECSA), pp 325–328

  52. Li J, Chen X, Huang G, Mei H, Chauvel F (2009) Selecting fault tolerant styles for third-party components with model checking support. In: Proceedings of the 12th international symposium on component-based software engineering, CBSE ’09. Springer, Berlin, pp 69–86

  53. Magee J, Kramer J, Giannakopoulou D (1999) Behavior analysis of software architectures. In: Proceedings of the 1st working IFIP conference on software architecture. WICSA, San Antonio

  54. Mahdian F, Rafe V, Rafeh R, Rahmani AT (2009) Modeling fault tolerant services in service-oriented architecture. TASE ’09. In: Proceedings of the 2009 third IEEE international symposium on theoretical aspects of software engineering. IEEE Computer Society, Washington, DC, pp 319– 320

  55. Malavolta I, Lago P, Muccini H, Pelliccione P, Tang A (2013) What industry needs from architectural languages: a survey. IEEE Trans Softw Eng 39(6):869–891

    Google Scholar 

  56. McGraw G (2006) Software security: building security in. Pearson Education, Inc

  57. Muccini H, Bertolino A, Inverardi P (2003) Using software architecture for code testing. IEEE Trans Softw Eng 30(3):160–171

    Google Scholar 

  58. Muccini H, Dias MS, Richardson DJ (2006) Software architecture-based regression testing. J Syst Softw 79(10):1379–1396

    Google Scholar 

  59. Muccini H, Romanovsky A (2007) Architecting fault tolerant systems. Technical Report CS-TR-1051, Newcastle University

  60. Olumofin FG, Misic VB (2005) Extending the ATAM architecture evaluation to product line architectures. Fifth working IEEE/IFIP conference on software architecture (WICSA 2005). IEEE Computer Society, Pittsburgh, pp 45–56

  61. Oquendo F, Warboys B, Morrison R, Dindeleux R, Gallo F, Garavel H, Occhipinti C (2004) Archware: architecting evolvable software. In: Oquendo F, Warboys B, Morrison R (eds) Proceedings of the 1st European workshop on software architecture EWSA ’2004 (St Andrews, Scotland, UK), volume 3047 of Lecture Notes in Computer Science. Springer, Berlin, pp 257–271

  62. Pelliccione P, Inverardi P, Muccini H (2009) Charmy: a framework for designing and verifying architectural specifications. IEEE Trans Softw Eng 35:325–346

    Google Scholar 

  63. Petriu D, Shousha C, Jalnapurkar A (2000) Architecture-based performance analysis applied to a telecommunication system. IEEE Trans Softw Eng 26:1049–1065

    Google Scholar 

  64. Petriu DC, Wang X (1998) Deriving software performance models from architectural patterns by graph transformations. In: Ehrig H, Engels G, Kreowski H, Rozenberg G (eds) TAGT, volume 1764 of Lecture Notes in Computer Science. Springer, Berlin, pp 475–488

  65. Petriu DC, Wang X (1999) From UML descriptions of high-level software architectures to LQN performance models. In: Nagl M, Schürr A, Münch M (eds) AGTIVE, volume 1779 of Lecture Notes in Computer Science. Springer, Berlin, pp 47–62

  66. Pooley RJ, Abdullatif AAL (2010) Cpasa: continuous performance assessment of software architecture. In: Proceedings of the 2010 17th IEEE international conference and workshops on the engineering of computer-based systems, ECBS ’10. IEEE Computer Society, Washington, DC, pp 79–87

  67. Poort ER, van Vliet H (2011) Architecting as a risk- and cost management discipline. In: Proceedings of the 2011 ninth working IEEE/IFIP conference on software architecture, WICSA ’11. IEEE Computer Society, Washington, DC, pp 2–11

  68. Richardson DJ, Stafford J, Wolf AL (1998) A formal approach to architecture-based software testing, Technical report. University of California, Irvine

  69. Richardson DJ, Wolf AL (1996) Software testing at the architectural level. In: ISAW-2, in joint proceedings of the ACM SIGSOFT ’96 workshops, pp 68–71

  70. Rosenblum D (1998) Challenges in exploiting architectural models for software testing. In: Proceedings of the international workshop on the role of software architecture in testing and analysis—ROSATEA

  71. Roshandel R, Medvidovic N, Golubchik L (2007) A Bayesian model for predicting reliability of software systems at the architectural level. In: Overhage S, Szyperski CA, Reussner R, Stafford JA (eds) Software architectures, components, and applications, volume 4880 of Lecture Notes in Computer Science. Springer, Berlin, pp 108–126

  72. Tsai JJP, Prasad Sistla A, Sahay A, Paul R (1997) Incremental verification of architecture specification language for real-time systems. In: WORDS ’97: Proceedings of the 3rd workshop on object-oriented real-time dependable systems—(WORDS ’97). IEEE Computer Society, Washington, DC, p 215

  73. Walley P (1996) Measures of uncertainty in expert systems. Artif Intell 83(1):1–58

    Google Scholar 

  74. Williams LG, Smith CU (1998) Performance evaluation of software architectures. In: Proceedings of the 1st international workshop on software and performance, WOSP ’98. ACM, New York, pp 164–177

  75. Williams LG, Smith CU (2002) PASASM: a method for the performance assessment of software architectures. In Proceedings of the 3rd international workshop on software and performance, WOSP ’02. ACM, New York, pp 179–189

  76. Woods E (2012) Industrial architectural assessment using TARA. J Syst Softw 85(9):2034–2047 (Selected papers from the 2011 Joint Working IEEE/IFIP Conference on Software Architecture (WICSA 2011))

    Google Scholar 

  77. Woodside M, Franks G, Petriu DC (2007) The future of software performance engineering. In: 2007 Future of software engineering, FOSE ’07. IEEE Computer Society, Washington, DC, pp 171–187

  78. Yuan L, Dong JS, Sun J, Basit HA (2006) Generic fault tolerant software architecture reasoning and customization. IEEE Trans Reliab 55(3):421–435

    Google Scholar 

  79. Zhang P, Muccini H, Li B (2010) A classification and comparison of model checking software architecture techniques. J Syst Softw 83(5):723–744

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antonia Bertolino.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bertolino, A., Inverardi, P. & Muccini, H. Software architecture-based analysis and testing: a look into achievements and future challenges. Computing 95, 633–648 (2013). https://doi.org/10.1007/s00607-013-0338-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-013-0338-9

Keywords

Navigation