ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
paper titlesourcepublication yearvenueauthorsaffiliationnumber of citationsautonomycontinuous evolutiongeneral scenarios
2
SAAM: a method for analyzing the properties of software architecturesgoogle scholar1994
Proceedings of 16th International Conference on Software Engineering
R. Kazman; L. Bass; G. Abowd; M. Webb
University of Waterloo
951n/an/an/a
3
Scenario-based analysis of software architecturegoogle scholar2002IEEE Software
R. Kazman; G. Abowd; L. Bass; P. Clements
University of Waterloo, Canada
771n/a
Develop scenarios. As we described earlier, the first and second steps are highly interdependent. While we were evolving an architectural description, we were continually developing scenarios that represented the various stakeholder roles in the system (page 5)
n/a
4
ASAAM: Aspectual software architecture analysis methodgoogle scholar2004
IEEE/IFIP Conference on Software Architecture (WICSA 2004)
B. Tekinerdogan
University of Twente
134n/an/an/a
5
Software architecture analysis of usabilitygoogle scholar2004
IFIP International Conference on Engineering for Human-Computer Interaction
Eelke Folmer, Jilles van Gurp & Jan Bosch
University of Groningen
113n/an/a
4.1 Create Usage Profile
The steps that need to be taken for usage profile creation are the following: Software Architecture Analysis of Usability 45
1. Identify the users: rather than listing individual users, users that are representative for the use of the system should be categorized in types or groups (for example system administrators, end-users etc).
2. Identify the tasks: Instead of converting the complete functionality of the system into tasks, representative tasks are selected that highlight the important features of the system. For example, a task may be “find out where course computer vision is given”.
3. Identify the contexts of use: In this step, representative contexts of use are identified. (For example. Helpdesk context or disability context.) Deciding what users, tasks and contexts of use to include requires making tradeoffs between all sorts of factors. An important consideration is that the more scenarios are evaluated the more accurate the outcome of the assessment is, but the more expensive and time consuming it is to determine attribute values for these scenarios.
4. Determine attribute values: For each valid combination of user, task and context of use, usability attributes are quantified to express the required usability of the system, based on the usability requirements specification. Defining specific indicators for attributes may assist the analyst in interpreting usability requirements as will be illustrated in the case study in section 5. To reflect the difference in priority, numeric values between one and four have been assigned to the attributes for each scenario. Other techniques such as pair wise comparison may also be used to determine a prioritization between attributes.
5. Scenario selection & weighing: Evaluating all identified scenarios may be a costly and time-consuming process. Therefore, the goal of performing an assessment is not to evaluate all scenarios but only a representative subset. Different profiles may be defined depending on the goal of the analysis. For example, if the goal is to compare two different architectures, scenarios may be selected that highlight the differences between those architectures. If the goal is to analyze the level of support for usability, scenarios may be selected that are important to the users. To express differences between usage scenarios in the usage profile, properties may be assigned to scenarios, for example: priority or probability of use within a certain time. The result of the assessment may be influenced by weighing scenarios, if some scenarios are more important than others, weighing these scenarios reflect these differences. A usage profile that is created using these steps is summarized in a table (See Table 2). Figure 2 shows the usage profile creation process.
6
Software architecture reliability analysis using failure scenariosgoogle scholar2008
Journal of Systems and Software
Bedir Tekinerdogan, Hasan Sozer, Mehmet Aksit
University of Twent
66n/an/an/a
7
Software Architecture Assessment for Sustainability: A Case Studygoogle scholar2024
European Conference on Software Architecture
Iffat Fatima(B) and Patricia Lago
Vrije Universiteit Amsterdam
2n/an/an/a
8
Automated software architecture security risk analysis using formalized signaturesgoogle scholar2013
2013 35th International Conference on Software Engineering (ICSE)
Mohamed Almorsy; John Grundy; Amani S. Ibrahim115n/an/an/a
9
Continuous software architecture analysisgoogle scholar2014
Agile Software Architecture
Georg Buchgeher *, Rainer Weinreich
Software Competence Center Hagenberg (SCCH), Hagenberg, Austria
13n/a
Continuous testing is a combination of techniques and tools like test-driven development (TDD) and regression testing [56]. TDD [59] is essentially a method for continuously developing test-cases as part of software design. It is thus also seen as a design approach, because it ensures that the system is testable by applying good design principles [60]. Regression testing, on the other hand, is the process of retesting software after modifications to ensure that the new version of the software has retained the capabilities of the old version and that no new defects have been introduced [61]. Both TDD and regression testing are well integrated into the development process. Tools for creating and executing test cases are integrated with development tools and environments and provide test automation, which is important due to the principle of constant change in agile processes. Continuous code analysis as provided by static code analysis tools like PMD,b Checkstyle,c and FindBugs™d are either directly integrated in an Integrated Development Environment (IDE) or in the build infrastructure and can thus be applied automatically and on a regular basis. CI [57,62] also provides automation using a dedicated build infrastructure (build server). It promotes the principle of early build and delivery. Builds are typically performed on a daily basis. Building a system usually incorporates the execution of test cases and of static code analysis. Continuous refactoring [52], on the other hand, focuses on problem resolution rather than analysis, though analysis activities need to precede refactoring activities. In the ideal case, refactoring is also performed continuously [58], because it is easier to make several smaller changes throughout the development process than to make larger changes later in development. However, large refactorings cannot always be avoided [43]. Refactoring support is often part of modern IDEs. Finally, pair programming [52] is an example for continuous ad hoc analysis during development. Code is developed collaboratively by two developers sitting in front of one machine. Analysis during development is ad hoc and thus not easily repeatable.
n/a
10
Software architecture evolution through evolvability analysisgoogle scholar2012
Journal of Systems and Software
Hongyu Pei Breivold, Ivica Crnkovic, Magnus Larsson45n/a
Phase 1: Analyze the implicaons of change smuli on soware architecture
Phase 2: Analyze and prepare soware architecture to accommodate change
smuli and potenal future changes
Phase 3: Finalize the evaluaon
(Figure 3)
n/a
11
Reliability analysis of software architecture evolutiongoogle scholar2013
2013 Sixth Latin-American Symposium on Dependable Computing
João M. Franco; Raul Barbosa; Mário Zenha-Rela
University of Coimbra, Portugal
14n/an/an/a
12
Tradeoff and sensitivity analysis in software architecture evaluation using analytic hierarchy processgoogle scholar2005
Software Quality Journal
LIMING ZHU, AYBUKE AURUM, IAN GORTON, ROSS JEFFERY
University of New South Wales
156n/an/an/a
13
Software architecture analysis based on statechart semanticsgoogle scholar2002
Tenth International Workshop on Software Specification and Design. IWSSD-10 2000
M.S. Dias; M.E.R. Vieira
University of California, bine
41n/an/an/a
14
Software architecture modeling & analysis: A rigorous approachgoogle scholar2002
Formal Methods for Software Architectures
Jeff Kramer, Jeff Magee & Sebastian Uchitel
Department of Computing, Imperial College London
40n/an/an/a
15
A systemic methodology for software architecture analysis and designgoogle scholar2011
2011 Eighth International Conference on Information Technology: New Generations
Plamen Petrov; Ugo Buy
University of Illinois at Chicago
10n/a
In another study we looked at the multi-year evolution of a software system in a captive software community connected by a common business licensing agreement. The original approach specified the evolution of the software architecture at a high level of detail accounting for uncertainty through scenario analysis. However, selecting the most probable scenario was consistently failing to
provide meaningful guidance, because the variability of business needs and the changes to the contextual environment make architectural prediction very hard. A much more successful outcome resulted when the emergent nature of software was understood and accepted. As a result, the software architecture evolution was modified to focus on providing sufficient flexibility across decision points and to guide architecture evolution by calibrating the influencers. An example of calibration was the decision to increase the modifiability of the system by increasing the separation of concerns between a messaging functionality and the image transport application-specific functionality. This decision was intended to accommodate the expectation that different types of payload may need to be transported in the future, in addition to images. Once the architectural calibration was done to account for the change in the software purpose, further specification was delegated to the design and development activities. The emergent approach to specifying software architecture has proved in multiple studies to be much more scalable and practical than the traditional approach to predict and over specify.
n/a
16
Software architecture evaluation methods based on cost benefit analysis and quantitative decision makinggoogle scholar2008
Empirical Software Engineering
Jihyun Lee, Sungwon Kang & Chang-Ki Kim
Information and Communications University, Seoul
38n/an/an/a
17
Specifying and analyzing dynamic software architecturesgoogle scholar2006
International Conference on Fundamental Approaches to Software Engineering
Robert Allen, Rdmi Douence, and David Garlan
Carnegie Mellon University
633n/an/an/a
18
A framework for software architecture visualisation assessmentgoogle scholar2005
3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis
K. Gallagher; A. Hatch; M. Munro
University of Durham
24n/an/an/a
19
Software architecture modelling, analysis and implementation with softarchgoogle scholar2001
Proceedings of the 34th Annual Hawaii International Conference on System Sciences
John Grundy
University of Auckland
30n/an/an/a
20
Formal modeling and analysis of software architecture: Components, connectors, and eventsgoogle scholar2003
Formal Methods for Software Architectures
David Garlan
Carnegie Mellon University
172n/an/an/a
21
Titan: A toolset that connects software architecture with quality analysisgoogle scholar2014
FSE 2014: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
Lu Xiao, Yuanfang Cai, Rick Kazman
Drexel University
83n/an/an/a
22
CPASA: Continuous performance assessment of software architecturegoogle scholar2010
17th IEEE International Conference and Workshops on Engineering of Computer Based Systems
R. J. Pooley; A. A. L. Abdullatif
Heriot-Watt University
20n/an/an/a
23
SAMAT-A Tool for Software Architecture Modeling and Analysis.google scholar2012SEKE
Su Liu, Reng Zeng, Zhuo Sun, Xudong He
Florida International University
13n/an/an/a
24
A framework for software reference architecture analysis and reviewgoogle scholar2013
Memorias del X Workshop Latinoamericano Ingeniería de Software Experimental
Silverio Martínez-Fernández, Claudia Ayala, Xavier Franch, David Ameller
Universitat Politècnica de Catalunya
26n/an/an/a
25
The goal of software architecture analysis: Confidence building or risk assessmentgoogle scholar1999
Proceedings of First BeNeLux conference on software architecture
Nico Lassing, Daan Rijsenbrij and Hans van Vliet
Vrije Universiteit
39n/an/an/a
26
An approach for combining model-based and scenario-based software architecture analysisgoogle scholar2010
2010 Fifth International Conference on Software Engineering Advances
Georg Buchgeher; Rainer Weinreich
Software Competence Center Hagenberg
20n/an/a
Capturing of Scenarios: Scenarios are special kinds of requirements, which are part of the LISA model. They can be linked to other elements of the architecture model. This way we support traceability between the scenario and the parts of the architecture where the scenario is addressed.
Prioritization of Scenarios: Scenarios can be ranked according to their importance and difficulty. Each scenario has a quality attribute category. Using these information scenarios can be visualized as utility tree (see Figure 6).
A utility tree is a central part of ATAM for refining a system’s quality attributes. Further scenarios can be sorted according to their importance and difficulty. This supports the selection of the most important and difficult scenarios.
(page 6)
27
Beyond ATAM: Architecture analysis in the development of large scale software systemsgoogle scholar2007
European Conference on Software Architecture
Andrzej Zalewski
Warsaw University of Technology
13n/an/an/a
28
Feature-based software architecture analysis to identify safety and security interactionsgoogle scholar2023
2023 IEEE 20th International Conference on Software Architecture (ICSA)
Priyadarshini; Simon Greiner; Maike Massierer; Oum-El-Kheir Aktouf
Robert Bosch GmbH, Cross Domain Computing Solutions, Abstatt, Germany
4
We evaluate our implementation of the method by applying it to a real-world component for autonomous driving. We show that the method is able to identify unintended interactions while providing only few false positive findings.

1. Architectural elements analysis
2. Behavioral analysis
3. Interaction analysis
n/an/a
29
Safety analysis of an evolving software architecturegoogle scholar2000
Proceedings. Fifth IEEE International Symposium on High Assurance Systems Engineering (HASE 2000)
R. de Lemos
University of Kent at Canterbury
10n/an/an/a
30
Software architecture risk analysis (SARA): A methodology to assess security risks in software architectures, and an application
google scholar2013
Archit. Defin. Eval
F Painchaud
Defence Research and Development Canada
2n/an/an/a
31
Software architecture analysis toolgoogle scholar2002
PROCEEDINGS OF THE 3D PROGRESS WORKSHOP ON EMBEDDED SYSTEMS
Johan Muskens, Michel Chaudron and Rob Westgeest
Technische Universiteit Eindhoven
14n/an/an/a
32
A stakeholder-centric software architecture analysis approachgoogle scholar1996
Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development
Sonia Bot, Chung-Horng Lung, Mark Farrell
Nortel Technology
21n/an/an/a
33
Using the Architecture Tradeoff Analysis Method (ATAM) to evaluate the software architecture for a product line of avionics systems: A case study
google scholar2003
Software Engineering Institute, Carnegie Mellon University
Mario Barbacci, Paul Clements, Anthony Lattanze, Linda Northrop, William Wood
Carnegie Mellon University
42n/an/an/a
34
Comparative evaluation of performance assessment and modeling method for software architecturegoogle scholar2011
International Conference on Software Engineering and Computer Systems
M. A. Isa & Dayang N. A. Jawawi
Universiti Teknologi Malaysia
5n/a
CPASA [6] method is proposed as an enhancement of the PASA method for enhancing performance assessment of software architecture. Originally, the PASA method aims to assess the performance aspects of system architecture with consideration of the specifications and requirements of the system when it is already completed. In response to this, CPASA was designed to enable continuous change as early as the requirements engineering level. System requirements evolve throughout the development lifecycle in order to obtain the best final design decisions. Therefore, any performance problems could be detected and fixed along the way to avoid problems in the final design decision. The CPASA method revises the original PASA method in two main aspects.
The first aspect is the development scopes. Unlike the PASA method, which focuses on the design steps, the CPASA method covers the requirement step until the design step in terms of performance assessment. The second aspect is the minimization of step in the performance assessment process. The CPASA method concentrates on minimizing the performance assessment steps with the
help of the agile development process. This process intends to benefit the stakeholders when the requirements are frequently changed during the performance assessment process. The result from solving performance issues in system architecture with the CPASA method can provide a complete system design with the continuous change in the initial design decision during development process.
n/a
35
Automating software architecture assessmentgoogle scholar2000
Proceedings of Nordic Workshop on Programming and Software Development Environment Research
Jilles van Gurp & Jan Bosch
University of Karlskrona/Ronneby
10n/an/an/a
36
Metrics and analysis of software architecture evolution with discontinuitygoogle scholar2002
IWPSE '02: Proceedings of the International Workshop on Principles of Software Evolutio
Mikio Aoyama
Nanzan University
53n/a
(1) Evolution Cost Metrics
For sofhvare architectures, evolution is made by a set of change operations on the components and connectors. As illustrated in Figure 2, we assume software architecture as a tree comprising of a set of components and connectors connecting them. Each component and connector is identified with a unique identifier, label.
To measure the evolution of software architectures, we introduce thc metrics based on the rewriting opcrdtions on the trees. As commonly used, we employ following three types of operations on the components and connectors.

(2) Metrics of Architecture Preservation over the Evolution
Now, we introduce a metric of architectare preservation factor, APF in short. Assume all the elements in a tree are prenrdered. And, assume there is a mapping from an element Ei in the tree "IN to an element Ej in the tree TM. Denote such a mapping as a pair (i, j). So, we denote the collection of all such mappings (i, j) as XNM. For any (it, Jr) and 02, J2) in Xm, t, we assume XtCM meets the following three conditions [9, 10].
1) it = i2 if and only ifjt =J2
2) it < i2 if and only ifji <j2
3) it is ancestor ofi 2 if and only ifji is an anccktor ofj2
The above three conditions preserve local structure within a mapping Xto, t- However, as illustrated in Figure 3, our concern is change of software architecture. So, the condition 3) is modified to 3a) as follows 3a) For it, i2, there is a sub-tree Sit and Si2 and an element e(i) of maximum ordering number starting from i, e(ii) < i2 if and only if c(Sii) < Si x
If a mapping, XNM, meets the conditions of 1), 2) and 3a), it is generally called structure preservation mapping. By setting the origin of the sub-tree to the mot of the tree, we call the sub-tree, meeting the conditions of 1), 2) and 3a), as APM (Architecture Preservation Mapping).
n/a
37
Scenario-driven analysis of component-based software architecture modelsgoogle scholar1999
Proceedings of the First Working IFIP Conference on Software Architecture
Prasanta Bose
George Mason University
12n/an/an/a
38
Software architecture for unified management of event notification and stream I/O and its use for recording and analysis of user events
google scholar2002
Proceedings of the 35th Annual Hawaii International Conference on System Sciences
Jan Stelovsky and Christoph Aschwanden
University of Hawaii at Manoa
48n/an/an/a
39
Error propagation analysis of software architecture specificationsgoogle scholar2006
Proceedings of the Int. Conf. on Computer and Communication Engineering,
D. Nassar, W. AbdelMoez, M. Shereshevsky, H. H. Ammar, Ali Mili, Bo Yu, S. Bogazzi
West Virginia University
12n/an/an/a
40
Software architecture quality analysis methodsgoogle scholar2002
International Conference on Software Reuse
Liliana Dobrica & Eila Niemelä
University Politehnica of Bucharest
4n/an/an/a
41
A meta model for software architecture conformance and quality assessmentgoogle scholar2013
Electronic Communications of the EASST
Andreas Goeb
SAP AG Darmstadt
1n/an/an/a
42
Experience of combining qualitative and quantitative analysis methods for evaluating software architecturegoogle scholar2005
Fourth Annual ACIS International Conference on Computer and Information Science (ICIS'05)
Younbok Lee; Ho-Jin Choi
Younbok Lee; Ho-Jin Choi
12n/an/a
Step 2 & 3: Refine and prioritize scenarios
This step is to refine scenarios to get more detailed and concrete response goals. ATAM has only one notion of response measure whereas CBAM has five:
(1)worst case, (2)best case, (3)current case, (4)desired case, and (5)expected case. A response measure in an ATAM evaluation is comparable to a desired-case response measure in a CBAM evaluation [3].
Here, only four values of the quality attribute response level will be elicited and recorded because a current-case value is not available for the new development while it can be elicited from the system with maintenance or upgrade purpose. The desiredcase quality attribute level indicates the targeted state that we want to achieve [1, 12]. In Table 2 below, '50% ripple' can be understood as one of two people is likely to incorporate the defect during changing source code.
In this step, the weight of the scenario was rated with the consideration of its economic implication for the business goals. The weight of entire set of scenarios was constrained to 100. In this context, the rationale for putting the weight value to each scenario can be summarized as the following:
- The risk of 'being behind schedule' is so critical for the success of the project.
- Scenario 2 came from the customer's requirement, 'deliver the system in Korean and English version'.
Scenario 3 is also important in that none of team members will maintain the system.
- The usability issue in scenario 3 in is rather important in typical web-based system. Our customer stressed the easiness of WBS manipulation.
- Availability aspect in scenario 4 is less important since the number of concurrent users is not so high and user group is rather restricted.
43
Self-healing based software architecture modeling and analysis through a case studygoogle scholar2005
Proceedings. 2005 IEEE Networking, Sensing and Control, 2005.
Jiwen Wang; Chenghao Guo; Fengyu Liu
Nanjing University of S&T
17
The second one is autonomy: it should provide the
ability to address the anomalies (discovered through
observability in the performance of a resulting system or its
execution environments). Autonomy is achieved according to
the following steps: planning, deploying, and making the
imperative changes;
n/an/a
44
Description and schedulability analysis of the software architecture of an automated vehicle control systemgoogle scholar2002
International Workshop on Embedded Software
Stavros TripakisVERIMAG21n/an/an/a
45
Analysis of the anywalker software architecture using the uml refactoring toolgoogle scholar2019
Procedia Computer Science
O. Deryugina, E. Nikulchev, I. Ryadchikov, S. Sechenev, E. Shmalko
Russian Technological University
8n/an/an/a
46
Software failure analysis at architecture level using FMEAgoogle scholar2012
International Journal of Software Engineering and Its Applications
Shawulu Hunira Nggada
University of Hull
38n/an/an/a
47
Enhancing the software architecture analysis and design process with inferred macro-architectural requirements
google scholar2012
2012 First IEEE International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks)
Plamen Petrov; Ugo Buy; Robert L. Nord
University of Illinois at Chicago
8n/an/a
Example 2–As part of our research and industrial experience we studied and then experimented with a realwork project from a US-based company. This example follows three versions of a system as it evolved over time.
Version #1 was developed following traditional, industryaccepted requirements engineering and architectural analysis and design methodology. Version 2 was based on an initial iteration of the multi-level context-aware software architecture analysis and design method that explicitly treated the definition of a macro-architecture as an early step in the architecture process. Version 3 was based on a later iteration that further refined the process to include the concept of backward-inferred architecture requirements.
48
Formal security analysis for software architecture design: An expressive framework to emerging architectural styles
google scholar2021
Science of Computer Programming
Nacha Chondamrongkul, Jing Sun, Ian Warren
Mae Fah Luang University
7n/an/a
These steps can be used to define security metrics and scenarios to analyse. We define the security metric and attack scenario based on security configuration in the architecture design. The security configuration represents characteristics that are involved in the security metric such as how important is the component and specific security control applied to the infrastructure that the software system is deployed on. With the formal definition of security characteristics in the ontology library, security characteristics can be detected in the ontology model representing the architecture design, according to the process shown in Fig. 6. The ontology classes and rules are processed by the ontology reasoner to classify the types of ontology individuals representing components and connectors according to the definitions of class. This class inference identifies the security characteristic representing metrics and scenarios
49
Tool support to model-based quality analysis of software architecturegoogle scholar2006
30th Annual International Computer Software and Applications Conference (COMPSAC'06)
Qian Zhang; Jian Wu; Hong Zhu
National University of Defense Technology
8n/an/an/a
50
Edge Coverage Analysis for Software Architecture Testing.google scholar2012
JOURNAL OF SOFTWARE
Lijun Lun, Xin Chi, Xuemei Ding
Harbin Normal University
7n/an/an/a
51
SPQR: Formalized design pattern detection and software architecture analysisgoogle scholar2005Citeseer
Jason McC. Smith and David Stotts
University of North Carolina
9n/an/an/a
52
A case study in performance, modifiability and extensibility analysis of a telecommunication system software architecture
google scholar2002
Proceedings. 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems
M. Castaldi; P. Inverardi; S. Afsharian
Universit`a dell’Aquila
11n/an/an/a
53
Formal Security Analysis for Blockchain-based Software Architecture.google scholar2020SEKE
Nacha Chondamrongkul, Jing Sun, Ian Warren
The University of Auckland
5n/an/a
C. Security Attack Scenarios Analysis
With the ontology classes defined as previously described, the ontology reasoner can pinpoint which connector is vulnerable to data tampering and data disclosure. We use this information to generate attack scenarios by inserting attacker components into the design model. These attacker components represent software components that adversaries use. Then, Linear Temporal Logic (LTL) assertions are generated and inserted into the behavioural model in ADL. This allows the model checker to trace how the components interact with each other in response to the attacker’s request. Algorithm 1 shows how the attacker component and LTL assertions are generated. This algorithm loops through VulnConnSet that contains inferred individuals that are of type DataTamperingConnector or DataDisclosureConnector. The attacker component is added to the model, and its attack port is attached to the outbound role of the vulnerable connector. The outbound role is where the request is initiated to make system responses. All inbound roles that handle the requests are iterated in the second loop.
This iteration finds the port attached to an inbound role and its component to generate a LTL assertion.
54
Using software architecture risk assessment for product line architecturesgoogle scholar2009
INTERNATIONAL CONFERENCE ON COMMUNICATION, COMPUTER AND POWER
WM Abdelmoez, AH Jalali, K Shaik, T Menzies, HH Ammar
Arab Acamdey for Science and Technology
8n/an/an/a
55
Performability analysis of a pipeline software architecturegoogle scholar2005
29th Annual International Computer Software and Applications Conference (COMPSAC'05)
S.S. Gokhale; S. Yacoub
S.S. Gokhale; S. Yacoub
7n/an/an/a
56
Software Architecture Modelling and Performance Analysis with Argo/MTE.google scholar2004SEKE
Yuhong Cai, John Grundy, John Hosking and Xiaoling Dai
University of Auckland
7n/an/an/a
57
Towards a distributed software architecture evaluation process: a preliminary assessmentgoogle scholar2006
ICSE '06: Proceedings of the 28th international conference on Software engineering
Muhammed Ali Babar, Barbara Kitchenham, Ian Gorton
National ICT Australia Ltd
7n/an/an/a
58
Security variability design and analysis in an aspect oriented software architecturegoogle scholar2009
2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement
Lirong Dai
Seattle University
6n/an/an/a
59
Architecture-level dependence analysis in support of software maintenancegoogle scholar1998
ISAW '98: Proceedings of the third international workshop on Software architecture
Judith A. Stafford, Alexander L. Wolf
University of Colorado
49n/an/an/a
60
Security Risk Assessment of Software Architecturegoogle scholar2011
Proceedings of the 21st International Conference on Computer Theory and Applications
Fadi HajSaid, Yousef Hassouneh, Hany Ammar
West Virginia University
2n/an/a
For each component
· If the component is a database element
o Check data sensitivity
§ Assign severity based on data sensitivity (Critical =high sensitive, Major= medium sensitive,
Minor= low sensitive)
· Else // component is not a database element
o if the component has a direct connection with a database component
§ Assign database component severity to the non-database component
o Else// no direct connection with database
§ Assign severity based on reachability (Minor= high reachable, Low = low reachable)
· Check Access rights of the component
§ If (Access rights == admin)
· Increase severity level by one level
· Normalize the component’s severity
61
Toward security analysis of service oriented software architecturegoogle scholar2011
International Conference on Software Engineering Research and Practice
Hassan Reza, and Washington Helps
University of North Dakota
4n/an/a
In a SOA environment, one of the design decisions for security must include identity that must be decoupled from the services. In a SOA, both users and services have identities. These identities need to be properly distinguished so that appropriate security controls can be applied [10]. Furthermore, the identities may need to be propagated throughout the SOA environment. Propagation is the scenario in which a user or service may need to access multiple layers of services. Therefore, identity services are required in the infrastructure to deal with identity mediation issues in a way that services can be easily interconnected without any concern about how to map and propagate user identity from one service to the next.

Another scenario which shows how security negatively impacts performance involves the requirement for message level security. For instance, the integrity of messages must be maintained to ensure that unauthorized changes are not made to them. That is, the data must be delivered as it was intended. In order to enforce this requirement, some schemes involve encoding redundant information such as checksums and encrypting the entire message. Again, this results in similar overhead as described in the previous example and thus leads to the performance degradation such as increased latency
62
Software architecture analysis and evaluationgoogle scholar2006
International Conference on the Quality of Software Architectures
Heinz Z¨ullighoven, Carola Lilienthal, and Marcel Bennicke
University of Hamburg
1n/an/an/a
63
SAM: a tool for software architecture modeling & performance analysisgoogle scholar2005
Second International Conference on the Quantitative Evaluation of Systems (QEST'05)
Rajeshwari G and Santonu Sarkar
Software Engineering and Technology Labs, Infosys Technologies Ltd
2n/an/an/a
64
Structure analysis for dynamic software architecture based on spatial logicgoogle scholar2005
29th Annual International Computer Software and Applications Conference (COMPSAC'05)
Tingting Han; Taolue Chen; Jian Lu
Nanjing University
3n/an/an/a
65
Software Architecture Analysis for Risk Managementgoogle scholar2009
Journal of Korea Society of Industrial Information Systems
Kang, Byeong-Do ; Lee, Roger Y.
Carnegie Mellon University
0n/an/an/a
66
Software with service oriented architecture quality assessmentgoogle scholar2014
2014 International Conference on Data and Software Engineering (ICODSE)
Aminah Nuraini; Yani Widyani
InstitutTeknologi Bandung
9n/an/an/a
67
Service oriented architecture assessment based on software componentsgoogle scholar2016
Decision Science Letters
Mahnaz Amirpour, Ali Harounabadi, Seyyed Javad Mirabedini
Islamic Azad University
1n/an/an/a
68
Software Architecture Evaluation: An Assessmentgoogle scholar2015
International Journal of System and Software Engineering
Shahkar Riyaz Tramboo, S. M. K. Quadri
University of Kashmir
0n/an/an/a
69
A FIVE-FACTOR SOFTWARE ARCHITECTURE ANALYSIS BASED ON FAR FOR ATM BANKING SYSTEMgoogle scholar2014
Journal of Theoretical and Applied Information Technology
T.K.S. RATHISH BABU, DR.N.SANKARRAM
S.K.R. Engineering College
0n/a
5.2. Software Architecture Evolution
Software evolvability is the software system’s capability for change to future events [35].This results in better economic value of the software. For long-term systems, evolvability is required explicitly during the whole software lifecycle to have a good productive lifetime of software systems.
The software lifecycle studies can be based on five sub-categories:
5.2.1. Quality Considerations during Design:
The approaches for the assessment of the software lifecycle can be based on conditions like quality attribute focused on the requirement, influencing factors and scenario.
5.2.2. Evaluation of Architectural Quality:
The approaches for the evaluation of the architectural quality can be experience-based, metric-based and scenario-based.
5.2.3. Economic Valuation:
These approaches enlarge the information on the architectural conclusions’ business consequences, and aid development teams in selecting among architectural options.
5.2.4. Architecture Knowledge Management:
These approaches enhance the architectural integrity by improving architecture documentation by the extraction of architectural knowledge from different information sources.
5.2.5. Models for Software Evolution:
These techniques function as modeling software artifacts providing traceability and visualization of the impact of software architecture artifacts’ evolution.
n/a
70
Maintainability Analysis of Component-Based Software Architecturegoogle scholar2018
Advances in Intelligent Systems and Computing
Nitin Upadhyay
Goa Institute of Management
0n/an/a
Table 1 Maintainability scenarios
Scenario name Scenario description
Addition Addition of a new component to the architecture
Deletion Deletion of an existing component from the architecture
Edition Edition of an existing component. Two cases
– Change in ports
– No change in ports
71
Risk assessment and mitigation approach for architecture evaluation in component based software development
google scholar2016
2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom)
Maushumi Lahon; Uzzal Sharma
Maushumi Lahon; Uzzal Sharma
1n/an/an/a
72
Supporting Reliability Modeling and Analysis for Component-Based Software Architecture: An XML-Based Approach
google scholar2013
2013 13th International Conference on Quality Software
Weichao Luo; Linpeng Huang
Shanghai Jiao Tong University
0n/an/an/a
73
Availability Assessment of Software Systems Architecture Using Formal Modelsgoogle scholar2018
International Journal of Computer Applications Technology and Research
M Sadeghian, I Kordkooy, H Motameni
Komail Institute of Higher Education
0n/an/an/a
74
Extending and adapting the architecture tradeoff analysis method for the evaluation of software reference architectures
google scholar2014
Technische Universiteit Eindhoven
Samuil Angelov, Jos J. M. Trienekens, Paul Grefen
Fontys University of Applied Sciences
6n/an/an/a
75
Comparison of scenario-based software architecture evaluation methodsgoogle scholar2005
11th Asia-Pacific Software Engineering Conference
Muhammad Ali Babar, Ian Gorton
National ICT Australia Ltd. and University of New South Wales, Australia
242n/an/an/a
76
A Software Architecture Evaluation Modelgoogle scholar1998
International Workshop on Architectural Reasoning for Embedded Systems
Juan C. Dueñas, William L. de Oliveira, Juan A. de la Puente
Technical University of Madrid
68n/an/an/a
77
An Empirically-Based Process for Software Architecture Evaluationgoogle scholar2003
Empirical Software Engineering
Mikael Lindvall, Roseanne Tesoriero Tvedt & Patricia Costa
Fraunhofer Center for Experimental Software Engineering, Maryland
100n/an/an/a
78
A framework for classifying and comparing software architecture evaluation methodsgoogle scholar2004
2004 Australian Software Engineering Conference. Proceedings.
Muhammad Ali Babar, Liming Zhu, Ross Jeffery
National ICT Australia Ltd. and University of New South Wales, Australia
326n/an/an/a
79
Continuous evolution through software architecture evaluation: a case studygoogle scholar2006
Journal of Software Maintenance and Evolution: Research and Practice
Christian Del Rosso
Nokia Research Center
62n/an/an/a
80
Software Architecture Evaluation in Practice: Retrospective on More Than 50 Architecture Evaluations in Industry
google scholar2014
2014 IEEE/IFIP Conference on Software Architecture
Jens Knodel; Matthias Naab
Fraunhofer IESE
29n/an/an/a
81
Mining Patterns to Support Software Architecture Evaluationgoogle scholar2004
Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)
Liming Zhu, Muhammad Ali Babar, Ross Jeffery
National ICT Australia Ltd. and University of New South Wales, Australia
70n/an/a
A periodic data structure change request from stakeholders arrives when data use case changes. The system has to be modifiable according to the data structure change request within certain scope under certain time and maintenance cost.

Elements General Scenarios
Source Stakeholders
Stimulus A periodic data structure
change request
Environment Normal condition
Artifact System
Response Modify
Response Measure Certain time and maintenance cost

Elements General Scenarios
Source Independent source
Stimulus A large number of data requests
Environment Normal condition
Artifact System
Response Transfer the data
Response Measure Within certain amount of time

Elements Refined General Scenarios
Source User interface
Stimulus A large number of requests on
data entity attribute
Environment Normal condition
Artifact System
Response Transfer the data
Response Measure Within certain amount of time
82
An approach to software architecture evaluation with the 4+1 view model of architecturegoogle scholar2002
Ninth Asia-Pacific Software Engineering Conference, 2002.
Heeseok Choi; Keunhyuk Yeom
Heeseok Choi; Keunhyuk Yeom
35n/an/an/a
83
A scenario-based framework for the security evaluation of software architecturegoogle scholar2010
2010 3rd International Conference on Computer Science and Information Technology
Abdulaziz Alkussayer; William H. Allen
Florida Institute of Technology
35n/an/a
The OWASP CLASP project has identified twenty-two specific threats (called vulnerabilities) [23]. These threats convey a simpler form of threat profiling for this case study. Hence, based on these identified threats and on the interaction steps in the use case, we have developed the corresponding security requirements for the target architecture to generate security scenarios as described in Section III-B. Next, we will walk through the framework to evaluate the security risks of the initial (non-secure) design of the architecture. Then, we propose improvements to the initial architecture by integrating security patterns during the architectural transformation stage. After that, the enhanced (secure) design is evaluated. Finally, the risk levels are compared and final results are discussed.
The first step of the framework is to determine the goal of the evaluation. In this case study, the goal is to evaluate the risk of the initial (non-secure) architecture design. The second step is to create the security scenarios. Hence, a total of twenty-two security scenarios have been created for this example. Following the scenario template explained earlier, each scenario is linked to a specific security requirement, potential threat, and security pattern(s) that may be used to remediate that threat.
The third step in the framework is to create the security scenario profile. In this case, the FST distilled from the security scenario profile contains 22 different scenarios. The scenarios within the FST are then categorized into security objectives
84
SDMF: Systematic decision-making framework for evaluation of software architecturegoogle scholar2016
Procedia computer science
Nitin Upadhyay
Goa Institute of Management
18n/an/an/a
85
The Architecture of a Tool for Scenario-Based Software Architecture Evaluationgoogle scholar2006
2006 IEEE International Multitopic Conference
Muhammad Usman, Naveed Ikram
Mohammad Ali Jinnah University
1n/an/an/a
86
Enhancing Software Architecture Adaptability: A Comprehensive Evaluation Methodgoogle scholar2024SymmetryQiuying Li and Fuping Zeng
Beihang University
1n/an/an/a
87
Evaluating Software Architecture Evaluation Methods: An Internal Replicationgoogle scholar2017
EASE '17: Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering
Silvia Abrahão and Emilio Insfran
Universitat Politècnica de València
13n/an/an/a
88
A process for software architecture evaluation using metricsgoogle scholar2002
27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings.
R.T. Tvedt; M. Lindvall; P. Costa
Fraunhofer Center Maryland for Experimental Software Engineering and Washington College
23n/an/an/a
89
Avoiding architectural degeneration: an evaluation process for software architecturegoogle scholar2002
Proceedings Eighth IEEE Symposium on Software Metrics
M. Lindvall; R. Tesoriero; P. Costa
Fraunhofer Center Maryland for Experimental Software Engineering and Washington College
75n/an/an/a
90
SQME: a framework for modeling and evaluation of software architecture quality attributesgoogle scholar2019
Software & Systems Modeling
Ali Sedaghatbaf, Mohammad Abdollahi Azgomi
Trustworthy Computing Laboratory, School of Computer Engineering, Iran University of Science and Technology,
12n/an/an/a
91
A Lightweight Value-based Software Architecture Evaluationgoogle scholar2007
Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2007)
Chang-Ki Kim; Dan-Hyung Lee; In-Young Ko; Jongmoon Baik
Electronics Telecommunications Research Institute(ETRI)
21n/an/an/a
92
Software Architecture Evaluation in Global Software Development Projectsgoogle scholar2009
On the Move to Meaningful Internet Systems: OTM 2009 Workshops
Frank Salger
Capgemini sd&m, Carl-Wery-Straße 42, 81739 Munich, Germany
18n/an/an/a
93
A framework for groupware-supported software architecture evaluation process in global software development
google scholar2012
Journal of Software: Evolution and Process
Muhammad Ali Babar
IT University of Copenhagen
12n/an/an/a
94
Comprehensive Architecture Evaluation and Management in Large Software-Systemsgoogle scholar2008
International Conference on the Quality of Software Architectures
Frank Salger, Marcel Bennicke, Gregor Engels & Claus Lewerentz
sd&m AG, Carl-Wery-Straße 42, 81739 München, Germany
21n/an/an/a
95
A scenario-based framework for the security evaluation of software architecturegoogle scholar2010
2010 3rd International Conference on Computer Science and Information Technology
Abdulaziz Alkussayer; William H. Allen
Abdulaziz Alkussayer; William H. Allen
35n/an/an/a
96
Information System Architecture Evaluation: From Software to Enterprise Level Approachesgoogle scholar2005
12th European Conference On Information Technology Evaluation (ECITE 2005)
André Vasconcelos, Pedro Sousa, José Tribolet
Technical University of Lisbon
25n/an/an/a
97
Continuous and Proactive Software Architecture Evaluation: An IoT Casegoogle scholar2022
ACM Transactions on Software Engineering and Methodology
Dalia Sobhy, Leandro Minku, Rami Bahsoon, Rick Kazman
Arab Academy of Science and Technology and Maritime Transport
5n/a
Design-Time Evaluation
D1:Business goals & scenarios are obtained from stakeholders
D2:Particular decisions are selected for diversification and new DAO are formed
D3: The implication of benefit and cost of all decisions are elicitedD4:The DAO are evaluated using binomial real options theory
D5: The set of dao along with their evaluation are provided

Proactive Run-time Evaluation
R1:Monitoring data (actual quality & cost) of each dao
R2:Monitoring data (actual quality) of each dao and exponential smoothing benefit of each dao
R3:Forecast exponential benefit smoothing of each dao is provided
R4:A significant change (worse) triggered based on forecast exponential smoothing benefit
R5: New dao is recommended based on forecast benefit & actual costs overtime (i.e.cost-benefit trade-offs)

(figure 1)
n/a
98
Towards Quantitative Evaluation of UML based Software Architecturegoogle scholar2007
Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2007)
Jinhua Li; Zhenbo Guo; Yun Zhao; Zhenhua Zhang; Ruijuan Pang
College of Information Engineering, Qingdao University
12n/an/an/a
99
An ontology-driven software architecture evaluation methodgoogle scholar2008
SHARK '08: Proceedings of the 3rd international workshop on Sharing and reusing architectural knowledge
Aida Erfanian, Fereidoun Shams Aliee
Shahid Beheshti University
19n/an/an/a
100
The essential components of software architecture design and analysisgoogle scholar2006
Journal of Systems and Software
Rick Kazman, Len Bass, Mark Klein
University of Hawaii and Carnegie Mellon University
85n/an/an/a