- Software Engineering Research
- Advanced Software Engineering Methodologies
- Software Engineering Techniques and Practices
- Software System Performance and Reliability
- Software Reliability and Analysis Research
- Open Source Software Innovations
- Service-Oriented Architecture and Web Services
- Information and Cyber Security
- Big Data and Business Intelligence
- Business Process Modeling and Analysis
- Scientific Computing and Data Management
- Information Technology Governance and Strategy
- Model-Driven Software Engineering Techniques
- Systems Engineering Methodologies and Applications
- Usability and User Interface Design
- Advanced Malware Detection Techniques
- Product Development and Customization
- Cloud Computing and Resource Management
- Green IT and Sustainability
- Data Visualization and Analytics
- Distributed and Parallel Computing Systems
- Technology Adoption and User Behaviour
- Design Education and Practice
- Semantic Web and Ontologies
- BIM and Construction Integration
University of Hawaiʻi at Mānoa
2016-2025
University of Hawaii System
2016-2025
Institute of Electrical and Electronics Engineers
2015-2024
Los Alamitos Medical Center
2024
Honolulu University
2007-2023
University of Waterloo
1994-2023
Drexel University
2019-2023
Polytechnique Montréal
2023
University of Alberta
2023
University of Macedonia
2023
This paper presents the Architecture Tradeoff Analysis Method (ATAM), a structured technique for understanding tradeoffs inherent in architectures of software-intensive systems. method was developed to provide principled way evaluate software architecture's fitness with respect multiple competing quality attributes: modifiability, security, performance, availability, and so forth. These attributes interact-improving one often comes at price worsening or more others-as is shown paper, helps...
Despite advances in clarifying high level design needs, analyzing a system's ability to meet desired quality criteria is still difficult. The authors propose using scenarios make analysis more straightforward. In their case study report, they analyze lessons learned with this approach. They developed the Software Architecture Analysis Method, an approach that uses gain information about attributes. Scenarios are brief narratives of expected or anticipated system from both user and developer...
While software architecture has become an increasingly important research topic in recent years, insufficient attention been paid to methods for evaluation of these architectures. Evaluating architectures is difficult two main reasons. First, there no common language used describe different Second, clear way understanding with respect organization's life cycle concerns -software quality such as maintainability portability, modularity, reusability, and so forth. We address shortcomings by...
Delivering increasingly complex software-reliant systems demands better ways to manage the long-term effects of short-term expedients. The technical debt metaphor is gaining significant traction in agile development community as a way understand and communicate such issues. idea that developers sometimes accept compromises system one dimension (e.g., modularity) meet an urgent demand some other deadline), incur "debt": on which "interest" has be paid "principal" should repaid at point for...
While software architecture has become an increasingly important research topic in recent years, insufficient attention been paid to methods for evaluation of these architectures. Evaluating architectures is difficult two main reasons. First, there no common language used describe different Second, clear way understanding with respect organization's life cycle concerns -software quality such as maintainability portability, modularity, reusability, and so forth. We address shortcomings by...
It takes a city of developers to build big system that is never done.
Monolithic systems increasingly suffer from maintainability and scalability issues as they grow in functionality, size, complexity. It is widely believed that (micro)service-based architectures can alleviate these problems each service supposed to have the following characteristics: clearly defined sufficient modularity, ability evolve independently. Industrial practices show extraction a legacy monolithic system labor-intensive complex. Existing work on candidate identification aims group...
In this paper, we propose and empirically validate a suite of hotspot patterns: recurring architecture problems that occur in most complex systems incur high maintenance costs. particular, introduce two novel patterns, Unstable Interface Implicit Cross-module Dependency. These patterns are defined based on Baldwin Clark's design rule theory, detected by the combination history information. Through our tool-supported evaluations, show these not only identify error-prone change-prone files,...
Our prior work showed that the majority of error-prone source files in a software system are architecturally connected. Flawed architectural relations propagate defects among these and accumulate high maintenance costs over time, just like debts interest. We model groups connected as debts. To quantify such debts, we formally define debt, show how to automatically identify their costs, time. describe novel history coupling probability matrix for this purpose, architecture using 4 patterns...
In this paper, we investigate software architecture as a set of overlapping design rule spaces, formed by one or more structural evolutionary relationships and clustered using our hierarchy algorithm. Considering coupling special type relationship, investigated (1) whether spaces can reveal relations among error-prone files; (2) problems contributing to error-proneness.We studied three large-scale open source projects found that files be captured just few sub-spaces. Supported tool, Titan,...
Software engineering is now more than ever a community effort. Its success often weighs on balancing distance, culture, global practices and more. In this scenario many unforeseen socio-technical events may result into additional project cost or "social" debt, e.g., sudden, collective employee turnover. With industrial research we discovered smells, that is, sub-optimal patterns across the organisational social structure in software development are precursors of such nasty events. To...
The benefits of a software system are assessable only relative to the business goals has been developed serve. In turn, these result from interactions between system's functionality and its quality attributes (such as performance, reliabilty security). Its are, in most cases, dictated by architectural design decisions. Therefore, we argue this paper that architecture is crucial artifact study making tradeoffs performing cost-benefit analyses. A substantial part such an analysis determining...
Article Experience with performing architecture tradeoff analysis Share on Authors: Rick Kazman Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA PAView Profile , Mario Barbacci Mark Klein S. Jeromy Carrière Steven G. Woods Authors Info & Claims ICSE '99: Proceedings of the 21st international conference engineeringMay 1999 Pages 54–63https://doi.org/10.1145/302405.302452Online:16 May 1999Publication History 103citation1,056DownloadsMetricsTotal Citations103Total...