System-Level Reliability Analysis Considering MISRA-C Rules

KIISE Transactions on Computing Practices(2023)

引用 0|浏览1
暂无评分
摘要
최근 자동차 내장형 시스템 소프트웨어는 코드 라인 수가 100만 줄을 넘어갈 정도로 개발의 복잡도 증가하고 있다. 소프트웨어 개발 과정의 복잡도는 당연히 소프트웨어 버그의 발생 확률을 비약적으로 높이고, 이러한 자동차 시스템 소프트웨어상의 버그는 단순한 문제가 아닌 인간의 생명과도 직결되어 있다는 점에서 그 심각성이 더욱 크다. 이러한 맥락에서 등장한 MISRA-C는 안전이 중요한 소프트웨어에서 소프트웨어 엔지니어로 인해 발생할 수 있는 버그를 최대한 줄이기 위하여 제안된 C 기반 프로그래밍의 가이드라인이다. 본 논문에서 우리는 이렇게 소프트웨어 신뢰성을 높이기 위한 수단으로 제안한 MISRA-C를 적용하였을 때 이에 따른 소프트 에러에 대한 하드웨어 신뢰성을 정량적으로 분석하였다. 이러한 분석을 하기 위해서 하드웨어가 소프트 에러에 노출된 정도를 사이클 단위의 정확도를 가진 신뢰성 분석 도구인 gemV로 측정하였다. 노출 빈도가 늘어나는 경우는 하드웨어 면적이 늘어나서 노출될 수 있는 공간 자체가 늘어나거나 혹은 실행 시간이 증가하여 노출될 수 있는 확률이 늘어나는 두 가지 경우로 분석할 수 있다. 일부 MISRA-C 규칙을 따르는 경우 실행 시간이 증가하는 경우가 발생하였는데, 이로 인해서 소프트 에러에 대한 취약성이 악화하는 경우를 찾을 수 있었다. 본 논문은 MISRA-C를 이렇게 다양한 관점에서 살펴보는 것을 통하여 하드웨어와 소프트웨어를 아우르는 신뢰성을 탐색하였다. 본 논문에서는 동적 메모리 할당 금지, goto 문 사용 금지, 재귀문 사용 지양 등 총 3가지 MISRA-C 규칙을 살펴보았고, 이 경우에서 소프트웨어의 신뢰성은 향상할 수 있으나 하드웨어의 취약성이 높아지는 경우를 발견할 수 있었다.
更多
查看译文
关键词
reliability,system-level
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要