Our Guest Editor introduction for the IEEE Software Theme Issue on Software Design Trends Supporting Multiconcern Assurance is now online.

The concept of software assurance is centred around the ability to provide justified confidence that that software, hardware, and services function as intended with adequate safety, security, availability, robustness, and reliability, and other dependability considerations. As new and emerging technologies such as artificial intelligence and machine learning, and 5G communications, microservices/services/components, and virtualization and containerization continue to be introduced and integrated into the development of software-intensive systems, new and innovative solutions for dealing with multiple concerns and quality attributes to meet the demands of these new paradigms are needed. These technologies are promising more efficiency, sustainability, and flexibility, giving industry practitioners a competitive edge in the development of the next generation of software-intensive systems. However, they also contribute to a wider number of concerns that apply at multiple levels and demand suitable software architecture and design solutions. As a result, we are seeing trends towards more flexible, evolveable, and adaptable architectures, the development of incremental assurance solutions, stronger adoption of model-based and pattern-based approaches, and the development and integration tools for supporting automated analyses at the design phase of software development to address these challenges.

See Publications for more details!