Design complexity measurement and testing
Communications of the ACM
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Function point analysis: measurement practices for successful software projects
Function point analysis: measurement practices for successful software projects
Software Metrics: A Rigorous and Practical Approach
Software Metrics: A Rigorous and Practical Approach
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions
IEEE Transactions on Software Engineering
Preliminary guidelines for empirical research in software engineering
IEEE Transactions on Software Engineering
The Vision of Autonomic Computing
Computer
Feedback Control of Computing Systems
Feedback Control of Computing Systems
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Process control-flow complexity metric: An empirical validation
SCC '06 Proceedings of the IEEE International Conference on Services Computing
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
IEEE Transactions on Software Engineering
A survey of autonomic computing—degrees, models, and applications
ACM Computing Surveys (CSUR)
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Software Engineering for Self-Adaptive Systems: A Research Roadmap
Software Engineering for Self-Adaptive Systems
FORMS: Unifying reference model for formal specification of distributed self-adaptive systems
ACM Transactions on Autonomous and Adaptive Systems (TAAS) - Special section on formal methods in pervasive computing, pervasive adaptation, and self-adaptive systems: Models and algorithms
Claims and evidence for architecture-based self-adaptation: a systematic literature review
ECSA'13 Proceedings of the 7th European conference on Software Architecture
Hi-index | 0.00 |
Providing high-quality software in the face of uncertainties, such as dealing with new user needs, changing availability of resources, and faults that are difficult to predict, raises fundamental challenges to software engineers. These challenges have motivated the need for self-adaptive systems. One of the primary claimed benefits of self-adaptation is that a design with external feedback loops provide a more effective engineering solution for self-adaptation compared to a design with internal mechanisms. While many efforts indicate the validity of this claim, to the best of our knowledge, no controlled experiments have been performed that provide scientifically founded evidence for it. Such experiments are crucial for researchers and engineers to underpin their claims and improve research. In this paper, we report the results of a controlled experiment performed with 24 final-year students of a Master in Software Engineering program in which designs based on external feedback loops are compared with designs based on internal mechanisms. The results show that applying external feedback loops can reduce control flow complexity and fault density, and improve productivity. We found no evidence for a reduction of activity complexity.