Applying empirical software engineering to software architecture: Challenges and lessons learned

Davide Falessi, Muhammad Ali Babar, Giovanni Cantone, Philippe Kruchten

Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

Abstract

In the last 15 years, software architecture has emerged as an important software engineering field for managing the development and maintenance of large, software-intensive systems. Software architecture community has developed numerous methods, techniques, and tools to support the architecture process (analysis, design, and review). Historically, most advances in software architecture have been driven by talented people and industrial experience, but there is now a growing need to systematically gather empirical evidence about the advantages or otherwise of tools and methods rather than just rely on promotional anecdotes or rhetoric. The aim of this paper is to promote and facilitate the application of the empirical paradigm to software architecture. To this end, we describe the challenges and lessons learned when assessing software architecture research that used controlled experiments, replications, expert opinion, systematic literature reviews, observational studies, and surveys. Our research will support the emergence of a body of knowledge consisting of the more widely-accepted and well-formed software architecture theories.
Original languageEnglish
JournalEmpirical Software Engineering
Volume15
Pages (from-to)250-276
Number of pages27
ISSN1382-3256
DOIs
Publication statusPublished - 1 Jun 2010

Keywords

  • Empirical Paradigm
  • Software Architecture
  • Large Software-Intensive Systems
  • Empirical Evidence

Fingerprint

Dive into the research topics of 'Applying empirical software engineering to software architecture: Challenges and lessons learned'. Together they form a unique fingerprint.

Cite this