Using Semantic Code Analysis to Support Important Qualities of Software Architecture
by Isabella Stilkerich, Daniel Kästner, Ulrich Becker, Felix Bräunling
Architecture principles can be applied to detailed design and implementation. Following this idea in case of abstraction and robustness principles leads to code-verification techniques using formal methods (e. g., abstract interpretation). Semantic code-analysis techniques based on abstract interpretation support code correctness, which is the foundation to address important software-architecture goals (e. g., variability, dependability, functional safety, cybersecurity, real-time and concurrency). In this talk, we will motivate the essential connection between architecture and abstract interpretation by presenting concrete examples relevant in safety- and cybersecurity-related systems.