Tuma, KatjaKatjaTumaPeldszus, SvenSvenPeldszusStrüber, DanielDanielStrüberScandariato, RiccardoRiccardoScandariatoJürjens, JanJanJürjens2022-11-112022-11-112023-02Software and Systems Modeling 22 (1): 273-296 (2023-02)http://hdl.handle.net/11420/14026It is challenging to verify that the planned security mechanisms are actually implemented in the software. In the context of model-based development, the implemented security mechanisms must capture all intended security properties that were considered in the design models. Assuring this compliance manually is labor intensive and can be error-prone. This work introduces the first semi-automatic technique for secure data flow compliance checks between design models and code. We develop heuristic-based automated mappings between a design-level model (SecDFD, provided by humans) and a code-level representation (Program Model, automatically extracted from the implementation) in order to guide users in discovering compliance violations, and hence, potential security flaws in the code. These mappings enable an automated, and project-specific static analysis of the implementation with respect to the desired security properties of the design model. We developed two types of security compliance checks and evaluated the entire approach on open source Java projects.en1619-1374Software and systems modeling20231273-296273-296Springerhttps://creativecommons.org/licenses/by/4.0/Data flow diagram (DFD)Security complianceSecurity-by-designStatic program analysisInformatikChecking security compliance between models and codeJournal Article10.15480/882.495310.1007/s10270-022-00991-510.15480/882.4953Journal Article