Software Design and Architecture The once and future focus of software engineering
Ieee account.
- Change Username/Password
- Update Address
Purchase Details
- Payment Options
- Order History
- View Purchased Documents
Profile Information
- Communications Preferences
- Profession and Education
- Technical Interests
- US & Canada: +1 800 678 4333
- Worldwide: +1 732 981 0060
- Contact & Support
- About IEEE Xplore
- Accessibility
- Terms of Use
- Nondiscrimination Policy
- Privacy & Opting Out of Cookies
A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.
Software Architecture pp 87–100 Cite as
An Empirical Basis for Software Architecture Research
- Rick Kazman ORCID: orcid.org/0000-0003-0392-2783 5 ,
- Roberto Tonelli ORCID: orcid.org/0000-0002-9090-7698 6 &
- Cesare Pautasso ORCID: orcid.org/0000-0002-2748-9665 7
- First Online: 03 June 2023
185 Accesses
Despite the clear need for and importance of performing empirical studies as part of software architecture research, there is still a lack of curated, standardized, clean, well-maintained, documented, easily accessible, reusable, and shared datasets. In this chapter, we provide an overview of the problems, of the motivations, and of the opportunities currently related to mining and sharing datasets for researchers in software architecture. We first explore and describe which artifacts should be included into such datasets, such as code, documentation, and requirements, but also including other architecturally relevant artifacts, such as architectural decision records, models, and other kinds of documentation. This information can be complemented with revision history logs, social metadata, and email or chat discussion archives. The availability of such datasets would enable not only architectural reconstruction studies but would also help to catalyze broader and more ambitious program of empirical studies in software architecture research.
This is a preview of subscription content, log in via an institution .
Buying options
- Available as PDF
- Read on any device
- Instant download
- Own it forever
- Available as EPUB and PDF
- Compact, lightweight edition
- Dispatched in 3 to 5 business days
- Free shipping worldwide - see info
Tax calculation will be finalised at checkout
Purchases are for personal use only
Behnamghader, P., Le, D.M., Garcia, J., Link, D., Shahbazian, A., Medvidovic, N.: A large-scale study of architectural evolution in open-source software systems. Empir. Softw. Eng. 22 (3), 1146–1193 (2017)
Article Google Scholar
Bi, T., Ding, W., Liang, P., Tang, A.: Architecture information communication in two oss projects: The why, who, when, and what. J. Syst. Softw. 181 , 111035 (2021)
Chaniotaki, A.M., Sharma, T.: Architecture smells and pareto principle: a preliminary empirical exploration. In: 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR), pp. 190–194 (2021). https://doi.org/10.1109/MSR52588.2021.00031
Garcia, J., Krka, I., Mattmann, C., Medvidovic, N.: Obtaining ground-truth software architectures. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 901–910 (2013). https://doi.org/10.1109/ICSE.2013.6606639
Garcia, J., Mirakhorli, M., Xiao, L., Zhao, Y., Mujhid, I., Pham, K., Okutan, A., Malek, S., Kazman, R., Cai, Y., Medvidović, N.: Constructing a shared infrastructure for software architecture analysis and maintenance. In: 2021 IEEE 18th International Conference on Software Architecture (ICSA), pp. 150–161 (2021). https://doi.org/10.1109/ICSA51549.2021.00022
Hassan, A.E.: The road ahead for mining software repositories. In: 2008 Frontiers of Software Maintenance, pp. 48–57. IEEE, New York (2008)
Google Scholar
Hemmati, H., Nadi, S., Baysal, O., Kononenko, O., Wang, W., Holmes, R., Godfrey, M.W.: The msr cookbook: mining a decade of research. In: 2013 10th Working Conference on Mining Software Repositories (MSR), pp. 343–352 (2013). https://doi.org/10.1109/MSR.2013.6624048
Keim, J., Schulz, S., Fuchß, D., Kocher, C., Speit, J., Koziolek, A.: Trace link recovery for software architecture documentation. In: European Conference on Software Architecture, pp. 101–116. Springer, Berlin (2021)
Lauro, F.D., Serbout, S., Pautasso, C.: To deprecate or to simply drop operations? an empirical study on the evolution of a large openapi collection. In: 16th European Conference on Software Architecture (ECSA). Prague, Czech Republic (2022)
Li, X., Liang, P., Liu, T.: Decisions and their making in oss development: an exploratory study using the hibernate developer mailing list. In: 2019 26th Asia-Pacific Software Engineering Conference (APSEC), pp. 323–330 (2019). https://doi.org/10.1109/APSEC48747.2019.00051
Lima, M., Valle, V., Costa, E., Lira, F., Gadelha, B.: Software engineering repositories: expanding the promise database. In: Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pp. 427–436 (2019)
Liu, C.: A general framework to detect design patterns by combining static and dynamic analysis techniques. Int. J. Softw. Eng. Knowl. Eng. 31 (01), 21–54 (2021)
Lokan, C., Wright, T., Hill, P., Stringer, M.: Organizational benchmarking using the isbsg data repository. IEEE Softw. 18 (5), 26–32 (2001). https://doi.org/10.1109/52.951491
Muszynski, M., Lugtigheid, S., Castor, F., Brinkkemper, S.: A study on the software architecture documentation practices and maturity in open-source software development. In: 2022 IEEE 19th International Conference on Software Architecture (ICSA), pp. 47–57 (2022). https://doi.org/10.1109/ICSA53651.2022.00013
Nguyen, H., Lomio, F., Pecorelli, F., Lenarduzzi, V.: Pandora: continuous mining software repository and dataset generation. In: 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 263–267 (2022). https://doi.org/10.1109/SANER53432.2022.00041
Nowak, M., Pautasso, C.: Goals, questions and metrics for architectural decision models. In: Proceedings of the 6th International Workshop on SHAring and Reusing Architectural Knowledge (SHARK), pp. 21–28. ACM, New York (2011). https://doi.org/10.1145/1988676.1988682
Palomba, F., Bavota, G., Penta, M.D., Fasano, F., Oliveto, R., Lucia, A.D.: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empir. Softw. Eng. 23 (3), 1188–1221 (2018)
Paradis, C., Kazman, R.: Building the MSR tool kaiaulu: design principles and experiences. In: Scandurra, P., Galster, M., Mirandola, R., Weyns, D. (eds.) Software Architecture, pp. 107–129. Springer International Publishing, Cham (2022)
Chapter Google Scholar
Reza, S.M., Badreddin, O., Rahad, K.: Modelmine: a tool to facilitate mining models from open source repositories. In: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, pp. 1–5 (2020)
Robles, G., Ho-Quang, T., Hebig, R., Chaudron, M.R., Fernandez, M.A.: An extensive dataset of uml models in github. In: 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR), pp. 519–522 (2017). https://doi.org/10.1109/MSR.2017.48
Serbout, S., Pautasso, C., Zdun, U., Zimmermann, O.: From openapi fragments to api pattern primitives and design smells. In: European Conference on Pattern Languages of Programs (EuroPLoP). ACM, Virtual Kloster Irsee, Germany (2021). https://doi.org/10.1145/3489449.3489998 . https://zenodo.org/record/5727094#.YZ97mFMo-0o
Soliman, M., Wiese, M., Li, Y., Riebisch, M., Avgeriou, P.: Exploring web search engines to find architectural knowledge. In: 2021 IEEE 18th International Conference on Software Architecture (ICSA), pp. 162–172 (2021). https://doi.org/10.1109/ICSA51549.2021.00023
Tamburri, D., Palomba, F., Kazman, R.: Exploring community smells in open-source: an automated approach. IEEE Trans. Softw. Eng. 47 (3), 630–652 (2021)
Xie, T., Zimmermann, T., van Deursen, A.: Introduction to the special issue on mining software repositories. Empir. Softw. Eng. 18 , 1043–46 (2013)
Download references
Author information
Authors and affiliations.
University of Hawaii, Honolulu, HI, USA
Rick Kazman
University of Cagliari, Cagliari, Italy
Roberto Tonelli
University of Lugano, Lugano, Switzerland
Cesare Pautasso
You can also search for this author in PubMed Google Scholar
Corresponding author
Correspondence to Rick Kazman .
Editor information
Editors and affiliations.
Computer Science Area, Gran Sasso Science Institute, L’Aquila, Italy
Patrizio Pelliccione
Technical University of Munich, School of CIT, and Fraunhofer Gesellschaft, München, Germany
Amazon Web Services, Sydney, Australia
Rights and permissions
Reprints and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter.
Kazman, R., Tonelli, R., Pautasso, C. (2023). An Empirical Basis for Software Architecture Research. In: Pelliccione, P., Kazman, R., Weber, I., Liu, A. (eds) Software Architecture. Springer, Cham. https://doi.org/10.1007/978-3-031-36847-9_5
Download citation
DOI : https://doi.org/10.1007/978-3-031-36847-9_5
Published : 03 June 2023
Publisher Name : Springer, Cham
Print ISBN : 978-3-031-36846-2
Online ISBN : 978-3-031-36847-9
eBook Packages : Computer Science Computer Science (R0)
Share this chapter
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative
- Publish with us
Policies and ethics
- Find a journal
- Track your research
Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser .
- We're Hiring!
- Help Center
Software Architecture and Design
- Most Cited Papers
- Most Downloaded Papers
- Newest Papers
- Save to Library
- Last »
- Adaptive Software Architecture Follow Following
- Software Design Follow Following
- Agent Based Follow Following
- Point of View Follow Following
- Scrum and Agile Follow Following
- Agile software development Follow Following
- Software Architecture Follow Following
- Social Networking Follow Following
- Distributed Simulation Follow Following
- DEVS-Suite Simulator Follow Following
Enter the email address you signed up with and we'll email you a reset link.
- Academia.edu Publishing
- We're Hiring!
- Help Center
- Find new research papers in:
- Health Sciences
- Earth Sciences
- Cognitive Science
- Mathematics
- Computer Science
- Academia ©2024
IMAGES
VIDEO
COMMENTS
Abstract - Software architecture defined as strategic design of an activity concerned with global requirements and its solution is implemented such as programming paradigms, architectural...
Software architecture is defined as the strategic design of an activity concerned with global requirements. Its solution is implemented in programming paradigms, architectural styles, component-based software engineering standards, architectural patterns, security, scale, integration, and law-governed regularities.
This paper explores key aspects of this research focus and shows why design will remain a principal focus. The intrinsic elements of software design, both process and product, are discussed: concept formation, use of experience, and means for representation, reasoning, and directing the design activity.
Based on research topics in these studies, we have identified five main categories of themes: (i) techniques supporting quality consideration during software architecture design, (ii) architectural quality evaluation, (iii) economic valuation, (iv) architectural knowledge management, and (v) modeling techniques.
software practitioners make architectural design decisions. Software Evolution. From an evolution perspective, architecture analysis and evaluation is a preventive activity to improve quali-tative attributes, delay architectural decay, limit the efect of soft-ware aging, and identify architectural drift and erosion of software systems [57, 101].
1. Introduction. Global software development (GSD) in its many forms has become a standard way of producing software for large companies (Sahay et al., 2003) as well as small ( Noll et al., 2016 ). Tasks are outsourced and/or off-shored ( Šmite et al., 2014) for a variety of reasons, such as to reduce costs and gain access to local markets and ...
In this paper, we study the current software architecture decision-making practices in the industry using a case study conducted among professional software architects in three different companies in Europe.
A model for capturing how products under development are generated and transformed along the software architecture design process is introduced, where architectural design decisions are modelled by means of sequences of operations that are applied on the design products. 8 PDF Design models for service-based software application M. Anjum
This paper presents a GSD Architectural Practice Framework reflecting the views of software architects, all of whom are working in a distributed setting. ... Sievi-Korte, O., Richardson, I., Beecham, S., 2019b. Protocol for an empirical study on software architecture design in global software development, lero technical report no. TR_2019_01 ...
PDF Tools Share Abstract The modern world greatly depends on information systems and the software that governs them. The software architecture defines and designs the holistic structure that the software will have, its components, the interaction between them and all the development is done around it.
Software Architecture and Design 95 interactionswith othersystems, andare built andmaintainedby groupsof engineers. ... Parnas and Darringer published a paper on the "Structure Oriented Description ... This separation thus set the stage for the decades of software design research that followed. Below we first consider the extensive design ...
The design of software has been a focus of software engineering research since the field's beginning. This paper explores key aspects of this research focus and shows why design will remain a principal focus. The intrinsic elements of software design, both process and product, are discussed: concept formation, use of ex-
Background Assessing and communicating software engineering research can be challenging. Design science is recognized as an appropriate research paradigm for applied research, but is rarely explicitly used as a way to present planned or achieved research contributions in software engineering. Applying the design science lens to software engineering research may improve the assessment and ...
This paper covers all aspects of architecture evolution, discusses the usage scenarios and effects of various technologies, and provides a comprehensive reference for high-concurrency software design. In future work, we will continue to pay attention to the development of related technologies.
This paper explores key aspects of this research focus and shows why design will remain a principal focus. The intrinsic elements of software design, both process and product, are...
After selecting and analyzing 112 research papers out of a total of 1,000 papers, ... Most of the publications in this section focus on the use of EA to better design business-aligned software architecture, promoting the resulting software to meet the stated business requirements. Several publications propose solutions that affect software ...
Global software development (GSD) in its many forms has become a standard way of producing software for large companies (Sahay et al., 2003) as well as small (Noll et al., 2016). Tasks are outsourced and/or off-shored (Šmite et al., 2014) for a variety of reasons, such as to reduce costs and gain access to local markets and resources ...
Software architecture has been an active research field for nearly four decades, in which previous studies make significant progress such as creating methods and techniques and building tools to support software architecture practice.
1) The first phase of software architecture research, where the key concepts are components and connectors, has matured the technology to a level where industry adoption is wide-spread and...
First Online: 03 June 2023 176 Accesses Abstract Despite the clear need for and importance of performing empirical studies as part of software architecture research, there is still a lack of curated, standardized, clean, well-maintained, documented, easily accessible, reusable, and shared datasets.
This paper explores the application of inferring software architecture rules from examples using Machine Learning (ML). We investigate different methods from Inductive Rule Learning and utilize Large Language Models (LLMs). Traditional manual rule specification approaches are time-consuming and error-prone, motivating the need for automated rule discovery. Leveraging a dataset of software ...
We analyzed research papers on software architecture decision making. We classified the papers according to different sub-dimensions of empirical research design like research logic, research purpose, research methodology and process. ... However, there are few studies on how software architecture design decisions are made even though all these ...
View Software Architecture and Design Research Papers on Academia.edu for free.
Software architecture has been an active research field for nearly four decades, in which previous studies make significant progress such as creating methods and techniques and building tools...
John Hewitt is a PhD student in Computer Science at Stanford University, working with Percy Liang and Christopher Manning on discovering the learned structure of neural language models, and designing them to be more understandable, diagnosable, and fixable. He was an NSF Graduate Fellow, and received a B.S.E in Computer and Information Science ...
feature requests, and potential use cases of using Keyframer for future work. The full details of our study design, research instruments, and study format can be found inA.4. 5.2 Participant Recruitment To recruit participants, we advertised our user study on an location-based, general-purpose Slack channel with 2,500
This theme focuses on making the right business and ethical choices in the adoption of AI and using AI design principles that will benefit people and society.. Human-centered AI (HCAI) is a common AI design principle that calls for AI to continuously benefit from human input. Behavioral analytics refers to session-tracking capabilities that monitor user interactions with a protected service to ...