{"title":"在混合关键应用中使用编译器管道来合成可跟踪的运行时内存布局","authors":"N. Kajtazovic, Peter Hödl, Georg Macher","doi":"10.1109/ISSREW51248.2020.00040","DOIUrl":null,"url":null,"abstract":"Ensuring traceability between software code and its runtime memory is a required design measure in a number of application fields to achieve functional safety targets. For mixed-critical systems, where a code with different levels of criticality may coexist, this aspect is of particular importance. In the course of safety audits for example, this information may serve to build an evidence that safety-critical code/data is sufficiently isolated from non-critical parts. Unfortunately, addressing the evidence for every byte in memory is not supported by modern compilers. In this paper, we introduce a method where the compiler pipeline is instrumented to recover traceability links between the code and runtime memory. We qualify our proposal on a real-world industrial use case in which the C/C++ code is synthesised for ARM Cortex-M3 controllers. Our experimental results suggest that such an accurate traceability support may serve as a solid basis when analysing memories for mixed-critical applications.","PeriodicalId":202247,"journal":{"name":"2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Instrumenting Compiler Pipeline to Synthesise Traceable Runtime Memory Layouts in Mixed-critical Applications\",\"authors\":\"N. Kajtazovic, Peter Hödl, Georg Macher\",\"doi\":\"10.1109/ISSREW51248.2020.00040\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Ensuring traceability between software code and its runtime memory is a required design measure in a number of application fields to achieve functional safety targets. For mixed-critical systems, where a code with different levels of criticality may coexist, this aspect is of particular importance. In the course of safety audits for example, this information may serve to build an evidence that safety-critical code/data is sufficiently isolated from non-critical parts. Unfortunately, addressing the evidence for every byte in memory is not supported by modern compilers. In this paper, we introduce a method where the compiler pipeline is instrumented to recover traceability links between the code and runtime memory. We qualify our proposal on a real-world industrial use case in which the C/C++ code is synthesised for ARM Cortex-M3 controllers. Our experimental results suggest that such an accurate traceability support may serve as a solid basis when analysing memories for mixed-critical applications.\",\"PeriodicalId\":202247,\"journal\":{\"name\":\"2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISSREW51248.2020.00040\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSREW51248.2020.00040","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Instrumenting Compiler Pipeline to Synthesise Traceable Runtime Memory Layouts in Mixed-critical Applications
Ensuring traceability between software code and its runtime memory is a required design measure in a number of application fields to achieve functional safety targets. For mixed-critical systems, where a code with different levels of criticality may coexist, this aspect is of particular importance. In the course of safety audits for example, this information may serve to build an evidence that safety-critical code/data is sufficiently isolated from non-critical parts. Unfortunately, addressing the evidence for every byte in memory is not supported by modern compilers. In this paper, we introduce a method where the compiler pipeline is instrumented to recover traceability links between the code and runtime memory. We qualify our proposal on a real-world industrial use case in which the C/C++ code is synthesised for ARM Cortex-M3 controllers. Our experimental results suggest that such an accurate traceability support may serve as a solid basis when analysing memories for mixed-critical applications.