Call for Papers

Recent events, in particular the COVID-19 pandemic, have made evident the need of providing our society with digital tools allowing people to meet, interact, and collaborate, considering the different dimensions that distinguish us as human beings. Software-enabled systems must facilitate not only collaborative work, but also humanitarian needs like healthcare of the population, online learning from kindergarten to postgraduate levels, and social networking. They must be developed considering personal needs, the diversity of the population, their privacy needs, and physical safety. Moreover, this new generation of software-enabled systems must be developed to provide human beings with a more sustainable world by being energy-aware as well as providing tools that make spaces, such as industries, cities, and houses smart and sustainable. All these challenges highlight critical considerations on what software-enabled systems to develop in the coming years, and especially on how to design these systems to offer a more sustainable and habitable Digital Society.

Source code is the version of software as it is originally written by a human in plain text.  It is the source code that contains the only precise description of the behavior of a software system. For this special issue, we encourage submission of papers that describe original, high-quality, empirically and/or theoretically validated work in source code analysis and manipulation.

The development of software-intensive systems is continuously evolving and faces many new challenges. New technologies, such as cloud computing, Internet of Things (IoT), Artificial Intelligence (AI), etc. as well as continuous engineering processes, such as DevOps, are being employed in new open contexts with more pervasive software, e.g., in Smart Cities, Smart Manufacturing, Smart Mobility, etc. This special issue will focus on collecting the latest research results on such emerging topics.

Today software has a significant impact on all aspects of our society, and its functioning is crucial for a multitude of economic, social, and educational activities. As a consequence, assuring the correctness and quality of software systems and components becomes paramount.

Automation across the Software-Testing Process is a powerful asset: while originally conceived for test execution, nowadays it is increasingly used for test generation, test prioritization and selection, test repair and evolution, among others, as well as for automatically comparing the actual with the expected outcome. Investments on automation of both tests synthesis and their execution is pursued to help ensure the adequate quality of software systems/applications while reducing the high effort and costs incurred in the testing of complex systems. De-facto, test automation is central in many modern approaches to software development such as model-driven engineering, agile frameworks, or TDD (Test Driven Development). It also represents a cornerstone for evolutionary development life-cycle focusing on “Continuous Practices” (i.e., continuous integration, testing, delivery, and deployment), or more recently on DevOps.

Artificial intelligence (AI), leveraging machine learning and deep learning, is increasingly seen as a key business enabler for today's software systems including autonomous vehicles, cloud-based services, big data, blockchain, and IoT, among many other industry applications. AI-based systems are heavily reliant on software, with each system growing massively towards having thousands of software components with intricate interdependencies [10]. The AI community has focussed primarily on algorithmic performance and functional aspects of AI-based systems, while neglecting other crucial software quality attributes, including but not limited to observability, maintainability, safety, security, and sustainability. Moreover, as AI-based systems often operate in dynamic, highly complex, and partially observable environments (e.g., cloud-based IoT), an additional challenge in these systems is to ensure that they can continue to deliver high quality of service despite unforeseen changes and uncertainty of operational environments.

The focal concerns are Software-Intensive Autonomous Systems (SIAS). A SIAS is, by definition, any system where software influences, to a large extent, the design, construction, deployment, and evolution of the system as a whole. Some examples include computer-based systems ranging from individual software applications, information systems, embedded systems for automotive applications, telecommunications, wireless ad hoc systems, business applications with an emphasis on web services, software product lines and product families, cyberphysical systems, and systems-of-systems. This special issue only solicits and accepts papers whose major contributions are within the domain of autonomous software-intensive systems, and applications.


Testing is the de facto technique for correctness verification and validation in software development. An important aspect of testing is the ability to tell whether the execution results agree with the expected outcomes. The mechanism to determine the correctness of the results is called a test oracle. Unfortunately, such a mechanism often does not always exist, or may exist but cannot be feasibly used, which is known as the oracle problem. This is a major challenge to software testers, severely curtailing the application of testing approaches and methods to practical situations.

Special Issue on The Next Generation of Software Architecture

Cyber-physical systems (CPS) are software-controlled systems that leverage computational and physical components to tackle a rapidly growing range of real-world problems. Enabled by unprecedented technological advances in the engineering of affordable and functionally rich mobile and embedded devices, modern CPS are used in key applications from manufacturing, transportation, healthcare and other domains of great economic and societal importance.

Since software architecture was established as a systematic discipline in the mid 1990's, it has been subject of increasing interest in software engineering research and practice. Three classic reasons why architecture is important to software systems are: (1) architecture provides a basis for creating mutual understanding about the software system; (2) architecture design decisions have the most significant influence on system qualities; and (3) architecture provides a reusable abstraction of a system that is transferable to other systems with similar requirements promoting large-scale reuse. In the last decade, the awareness has grown that the decision making process is central to architectural design, as manifested in the notions of rational and architecture knowledge.

The special issue focuses on advanced methods and tools for enhancing, assessing and predicting the reliability, safety, and security of software products. We invite the original previously unpublished papers as well as extended versions of papers presented at the 27th Annual International Symposium on Software Reliability Engineering (ISSRE 2016).