Project
Quality Assurance for Software Frameworks in Evolution
A software framework is a design and implementation artefact that provides a software architecture, design and code (frozen spots) for a specific application domain, with foreseeable extensions for application-specific customisations (hot spots). But similar to 'regular' products and services, frameworks are susceptible to frequent change, due to: • changing or new requirements • extension of scope of the framework (narrowing or widening) • design overhaul • code revisions/refactorings In this research, I will study agile development and evolution of software frameworks. Topics in the research may include: • process guidelines for evolving frameworks, in line with the agile manifesto • CD/CI and framework version control, targeting a suitable branching model and guidelines for framework engineering • quality measures and quality assurance throughout the framework lifecycle: (1) component specifications (hotspots and frozen spots), (2) automated verification and testing The research will be guided and inspired by a concrete use case of software-implemented resilience techniques.