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