Software specification and verification is a critical aspect of software engineering that ensures the quality, reliability, and correctness of software systems. It involves defining the desired behavior and properties of a software system through formal or informal models, and then verifying that the actual implementation meets these specifications. This process is essential to prevent errors, bugs, and security vulnerabilities that can have significant consequences, especially in safety-critical or mission-critical applications.
The primary goal of research in software specification and verification is to develop effective methods and tools for ensuring the correctness and quality of software systems. This includes:
- Developing more expressive and efficient modeling languages for representing the behavior of complex systems.
- Improving the scalability and performance of verification techniques, especially for large-scale systems.
- Addressing the challenges of verifying systems with non-deterministic behavior, concurrency, or distributed components.
- Integrating specification and verification into the software development lifecycle to ensure that quality is built into the system from the beginning.
We encourage submissions that address the challenges and opportunities of software specification and verification in today's complex and rapidly evolving software landscape, in particular focusing on:
• Emerging Domains:
- AI and Machine Learning Systems: AI-supported requirement management and Verification in ML-based systems
- Quantum Computing: Specifications and verifications tailored to quantum algorithms, which have fundamentally different behaviors from classical systems.
- Autonomous and IoT Systems: Verification of autonomous vehicles, drones, or robotic systems where safety-critical real-time decisions are crucial.
• Combining Formal and Informal Methods:
- Combining formal verification with machine learning for adaptive systems.
- Introducing new abstract domains for static analysis tailored for specific application scenarios
- Addressing how informal, agile, or test-driven development methods can be formally verified.
- Case studies or methodologies that bridge the gap between formal theory and practical application, making verification tools more accessible to mainstream software development.
• Verification for Systems with Ethical or Social Impact:
- Tools for verifying the transparency, fairness, or privacy of AI systems.
- Formal methods for ensuring compliance with regulations like GDPR or sector-specific safety standards (medical, aviation, etc.).
- Verification in systems with a significant impact on society, such as voting systems or critical infrastructure (energy grids, transportation).
- Verification of Digital Sustainability of Software Systems
• Scalability and Automation in Specification and Verification Tools:
- Automated checking of conflicts in requirement specifications
- Automated verification for very large systems, handling industrial-scale projects.
- Leveraging cloud computing or distributed verification techniques to handle large datasets or systems.
- Scalable methods for continuous integration/continuous deployment (CI/CD) environments.
• Verification in Modern Software Ecosystems:
- Focus on DevOps, Continuous Deployment, and how verification fits into these rapid cycles.
- Verification of micro-services architectures or containerized environments.
- Specification and verification techniques in open-source software, community-driven development, or open standards.
Submitted manuscripts should clearly specify which of the following categories they belong:
- New research content: Contributions that present novel techniques, algorithms, or tools for specification, verification, or testing.
- Case studies: Careful discussions of real-world applications of software specification and verification, including challenges, lessons learned, and best practices.
- Theoretical foundations: Papers that explore the underlying mathematical or logical foundations of specification and verification.
- Tool development: Descriptions of new tools or frameworks for supporting specification and verification.
- Applications: Papers that demonstrate the application of specification and verification techniques to specific domains, such as safety-critical systems, embedded systems, or cyber-physical systems.
Keywords:
software, specification, models, program analysis, verification, testing
Important Note:
All contributions to this Research Topic must be within the scope of the section and journal to which they are submitted, as defined in their mission statements. Frontiers reserves the right to guide an out-of-scope manuscript to a more suitable section or journal at any stage of peer review.
Software specification and verification is a critical aspect of software engineering that ensures the quality, reliability, and correctness of software systems. It involves defining the desired behavior and properties of a software system through formal or informal models, and then verifying that the actual implementation meets these specifications. This process is essential to prevent errors, bugs, and security vulnerabilities that can have significant consequences, especially in safety-critical or mission-critical applications.
The primary goal of research in software specification and verification is to develop effective methods and tools for ensuring the correctness and quality of software systems. This includes:
- Developing more expressive and efficient modeling languages for representing the behavior of complex systems.
- Improving the scalability and performance of verification techniques, especially for large-scale systems.
- Addressing the challenges of verifying systems with non-deterministic behavior, concurrency, or distributed components.
- Integrating specification and verification into the software development lifecycle to ensure that quality is built into the system from the beginning.
We encourage submissions that address the challenges and opportunities of software specification and verification in today's complex and rapidly evolving software landscape, in particular focusing on:
• Emerging Domains:
- AI and Machine Learning Systems: AI-supported requirement management and Verification in ML-based systems
- Quantum Computing: Specifications and verifications tailored to quantum algorithms, which have fundamentally different behaviors from classical systems.
- Autonomous and IoT Systems: Verification of autonomous vehicles, drones, or robotic systems where safety-critical real-time decisions are crucial.
• Combining Formal and Informal Methods:
- Combining formal verification with machine learning for adaptive systems.
- Introducing new abstract domains for static analysis tailored for specific application scenarios
- Addressing how informal, agile, or test-driven development methods can be formally verified.
- Case studies or methodologies that bridge the gap between formal theory and practical application, making verification tools more accessible to mainstream software development.
• Verification for Systems with Ethical or Social Impact:
- Tools for verifying the transparency, fairness, or privacy of AI systems.
- Formal methods for ensuring compliance with regulations like GDPR or sector-specific safety standards (medical, aviation, etc.).
- Verification in systems with a significant impact on society, such as voting systems or critical infrastructure (energy grids, transportation).
- Verification of Digital Sustainability of Software Systems
• Scalability and Automation in Specification and Verification Tools:
- Automated checking of conflicts in requirement specifications
- Automated verification for very large systems, handling industrial-scale projects.
- Leveraging cloud computing or distributed verification techniques to handle large datasets or systems.
- Scalable methods for continuous integration/continuous deployment (CI/CD) environments.
• Verification in Modern Software Ecosystems:
- Focus on DevOps, Continuous Deployment, and how verification fits into these rapid cycles.
- Verification of micro-services architectures or containerized environments.
- Specification and verification techniques in open-source software, community-driven development, or open standards.
Submitted manuscripts should clearly specify which of the following categories they belong:
- New research content: Contributions that present novel techniques, algorithms, or tools for specification, verification, or testing.
- Case studies: Careful discussions of real-world applications of software specification and verification, including challenges, lessons learned, and best practices.
- Theoretical foundations: Papers that explore the underlying mathematical or logical foundations of specification and verification.
- Tool development: Descriptions of new tools or frameworks for supporting specification and verification.
- Applications: Papers that demonstrate the application of specification and verification techniques to specific domains, such as safety-critical systems, embedded systems, or cyber-physical systems.
Keywords:
software, specification, models, program analysis, verification, testing
Important Note:
All contributions to this Research Topic must be within the scope of the section and journal to which they are submitted, as defined in their mission statements. Frontiers reserves the right to guide an out-of-scope manuscript to a more suitable section or journal at any stage of peer review.