컴파일러 모델기반 툴 번역

 

컴파일러 모델기반 툴 번역에 대해서 알아 보겠습니다(영어번역)

 

컴파일러 모델기반 툴 번역

컴파일러 모델기반 툴 번역(영어 원본)

The SafeTITM Compiler Qualification Kit is a modern, model-based qualification kit that offers a high degree of flexibility during application of the kit. This paper will describe challenges posed by the safety standards and processes, as well as illustrate the benefits of model-based tool qualification. The second part of the paper focuses on the Texas Instruments C/C++ ARM® compiler specific aspects. Its model combines the C software programming language conformance tests provided by the SuperTest qualification suite with specific TI test cases for the TI C/C++ compiler. Using examples, we illustrate how the contained qualification support tool assists during qualification of the compiler and provide a description of the generated documents.
Model-Based Tool Qualification of the TI C/C++ ARM® Compiler
Requirements for Tool Qualification
There are many standards for the development of safety-critical systems, such as the ISO 26262 [ISO26262], DO-178C / DO-330 [DO330] and IEC 61508 [61508]. These functional safety standards require analyzing all tools that are used within the development process of the software. This includes the integration and verification of the software. All these standards have a three-phase approach for using tools safely:
1. Classification: The tools are classified into categories that describe the confidence (certification credit) required in the development process of the system. The classification is based on the analysis of potential errors in the tool and their detection or prevention probabilities within the process. Note that the confidence categories for tools differ among the different standards: tool “confidence levels” in the ISO 26262, tool “criteria” in the DO-178C and tool “classes” in the IEC 61508. Tools that do not require confidence, since they have either no impact or a high-detection probability for all their potential errors in the process, can be used without qualification in the analyzed processes.
2. Qualification: Tools that require confidence in the analyzed processes have to be qualified. Qualification might be restricted to the identified use cases and to show the absence of critical errors. In ISO 26262, there are four possible qualification methods: increased confidence from use, process assessment, validation, and development according to a safety standard.
3. Usage: The tools must be used taking into consideration the known or found restrictions in the development process. Documentation must contain the constraints from the process that have been considered in the analysis phase and workarounds for all restrictions found during tool qualification.
Tool Qualification Processes and Roles
While the standards pose requirements on tool qualification, they do not describe the involved processes. The involved roles are the tool user (or a department responsible for the usage of tools) and the tool provider. We see the following three processes during tool qualification.
• Tool chain analysis (tool user): Determination of the required confidence in all used tools.
• Creation of tool qualification kits (tool provider).
• Tool qualification (tool user and tool provider): Application of qualification kits.
All processes can be supported with qualification service providers who can share their experiences with tool users and tool providers on this specific topic.
Figure 1 shows the tool qualification processes. The main process “Tool Qualification” (depicted on the right side) creates the required confidence needed for the tool by applying a qualification kit. The prerequisites of tool qualification are determined by the two required processes:
• Determination of the qualification needed during the tool chain analysis of all tools in the development process (depicted in the upper left part).
• Availability of a qualification kit that fits to the requirements (depicted in the lower left part).
Tool qualification requires a classification determine the qualification needs and a qualification kit that covers the needs. If the tool chain analysis classifies a tool without confidence requirements, the qualification process can be omitted. In all cases (even when no tool qualification is needed), the application of the tool requires guidelines (a tool safety manual) that specify the requirements determined during the classification of the tool to which the user must adhere for the tool to operate correctly (e.g., restricting the used features or requiring specific verification steps.)
The tool qualification process benefits from a comprehensive tool classification that provides detailed information on the used features and the applicable guidelines to detect or prevent potential tool errors. In this case, the tool user has to qualify only the “critical errors” of the tool. The critical errors are those errors that might occur during the application of the selected tool features and have no high detection or prevention probability in the applied process. A good qualification kit supports the tool user during the determination of the critical errors and supplies test cases that provide confidence in the absence of the critical errors.
Of course the amount of critical errors can also be reduced without qualification by applying more mitigation measures. However, this requires introducing additional and sometimes expensive process steps. The goal of the application of a qualification kit is therefore to qualify as many features as possible with the fewest error mitigation restrictions on the tool application. On the other hand, the creation of qualification kits that test all features of the tool requires significant effort. Therefore, there is a prioritization of the test creation according to the mitigation measures that can be avoided by successfully executing the tests. Designing qualification kits with fixed amount of effort for an optimal set of selected tool features is a challenge that cannot be met without an appropriate model of the tool and an understanding of acceptable user restrictions. During the application of a qualification kit, the user can select which tool features he or she intends to use. For each feature, a “qualification state” characterizing the usability of the feature is identified:
• Red: The feature cannot be used, since there are neither tests nor mitigation measures for the potential errors of the feature.
• Yellow: The feature can be used with the restriction that a certain set of guidelines is applied to mitigate the potential errors of the feature.
• Green: The feature can be used without constraints, since there are tests available that provide evidence for the absence of the potential errors.

컴파일러 모델기반 툴 번역(한국어 원본)

서론
세이프TITM컴파일러 콸리피케이션 키트는 키트의 응용 과정에서 유동성을 제공하는 모델 기반의 현대식 콸리피케이션 키트다. 본 백서는 안전기준 및 처리에 의해 발생하는 문제점에 대해서 설명하고 모델기반의 툴 콸리피케이션의 장점에 대해 설명할 것이다. 본 백서의 후반부는 텍사스 인스투루먼트의 C/C++ ARM® 컴파일러의 구체적 특징에 대해 다룰 것이다. C/C++ ARM® 컴파일러의 모델은 TI C/C++ 컴파일러를 위한 구체적 TI 테스트 사례와 수퍼테스트 콸리피케이션 스위트에 의해 제공되는 C 소프트웨어 프로그래밍 랭귀지 적합성 테스트를 통합한다.
예제를 사용하여 어떻게 콸리피케이션 서포트 툴이 컴파일러 콸리피케이션에 도움을 주고 생성된 다큐먼트의 디스크립션을 제공하는지 설명할 것이다.
TI C/C++ ARM® 컴파일러의 모델기반 툴
1. 툴 콸리피케이션의 자격요건
ISO 26262 [ISO26262], DO-178C / DO-330 [DO330], IEC 61508 [61508]와 같은 안전필수시스템의 개발을 위한 기준은 다양하다. 이러한 기능적 안전기준은 소프트웨어 개발 과정에서 사용되는 모든 툴의 분석을 요구한다. 소프트웨어의 통합 및 검증이 그 예이다. 이러한 기준들은 툴을 안전하게 사용하기 위해 세 단계로 구성되어 있다.
1. 분류: 툴들은 시스템의 개발 과정에서 필요한 컨피던스(신용 증명)를 설명하는 카테고리로 분류된다. 분류는 틀과 처리과정 중 탐지 혹은 방지 확률에서 나타날 수 있는 오류의 분석을 기반으로 이루어진다. 툴의 컨피던스 카테고리는 기준에 따라 다르다: ISO 26262 내 툴 “컨피던스 레벨”, DO-178C 내 툴 “기준”, IEC 61508 내 툴 ”클래스”가 있다. 영향력이 없거나 프로세스 내 잠재적 에러에 대한 고탐지 가능성이 있을 경우 컨피던스를 필요로 하지 않는 툴은 분석 프로세스에서 콸리피케이션 없이 사용될 수 있다.
2. 콸리피케이션: 분석 프로세스에서 컨피던스가 필요한 툴들은 자격이 충족되어야 한다. 콸리피케이션은 확인된 사용 사례에만 제한될 수 있으며 크리티컬 에러의 부재를 보여주기 위해 제한될 수 있다. ISO 26262에서는 네 가지 콸리피케이션 평가방법이 가능하다. 사용으로부터의 컨피던스 증가, 프로세스 평가, 유효 검사, 안전기준에 따른 개발이다.
3. 사용: 툴은 개발 프로세스 중의 알려지거나 발견된 제한을 고려하여 사용되어야 한다. 문서는 툴 콸리피케이션 중 발견된 모든 제한을 위한 분석 단계 및 대응에서 고려된 프로세스로부터의 제약을 포함해야 한다.
2. 툴 콸리피케이션 프로세스 및 역할
기준이 툴 콸리피케이션에 자격을 요구하지만 관련 프로세스를 설명하지는 않는다. 관련 프로세스는 툴 사용자 (혹은 툴 사용을 담당하는 부서)와 툴 제공자다. 툴 콸리피케이션과정 중 다음의 세 가지 처리과정을 살펴보자.
• 툴 체인 분석 (툴 사용자): D모든 툴에 필요한 컨피던스의 결정
• 툴 콸리피케이션 키트의 제작 (툴 제공자)
• 툴 콸리피케이션 (툴 사용자와 툴 제공자): 콸리피케이션 키트의 적용
모든 프로세스는 콸리피케이션 서비스 제공자에 의해 지원되며 해당 주제에 대해 툴 사용자와 툴 제공자와 경험을 공유할 수 있다.
그림 1은 툴 콸리피케이션 프로세스를 보여준다. 주요 프로세스인 “툴 콸리피케이션” (오른쪽에 표시)은 콸리피케이션 키트를 적용함으로써 툴에 필요한 컨피던스를 생성한다. 툴 콸리피케이션의 선제조건은 두 개의 프로세스에 의해 결정된다:
• 개발 프로세스중의 모든 툴의 툴 체인 분석 중 필요한 콸리피케이션의 결정 (상단 왼쪽에 표시).
• 자격요건에 맞는 콸리피케이션 키트의 유효성 (하단 왼쪽에 표시)
툴 콸리피케이션에는 분류 결정 콸리피케이션 요구와 이러한 요구를 충족하는 키트가 필요하다.
만약 툴 체인 분석에서 컨피던스 자격요건이 필요 없는 툴로 분류될 경우, 콸리피케이션 프로세스는 생략될 수 있다. 모든 경우에 (툴 콸리피케이션이 필요 없는 경우에도) 툴의 적용에는 툴의 분류 과정에서 자격요건을 명시한 가이드라인 (툴 안전 매뉴얼)이 필요하며 사용자가 올바르게 툴을 운영하기 위해서 반드시 따라야 한다. (예: 사용된 기능 제한 혹은 특정 검증 절차 요구)
툴 콸리피케이션 프로세스는 사용된 기능에 관한 구체적 정보와 발생 가능한 툴 에러를 감지 혹은 방지하도록 하는 적용가능한 가이드라인을 명시한 통합적 툴 분류로부터 도움을 얻을 수 있다. 이러한 경우 툴 사용자는 툴의 “크리티컬 에러”만 충족하면 된다. 크리티컬 에러란 선택된 툴 기능의 적용 과정에서 생겨날 수 있는 에러를 뜻하며 적용된 프로세스에서 높은 감지능력 혹은 방지능력이 부재하다. 좋은 콸리피케이션 키트는 크리티컬 에러의 결정과정 동안 툴 사용자를 지원하며 크리티컬 에러의 부재 동안 컨피던스를 제공하는 테스트 사례를 제공한다. 물론 크리티컬 에러의 양은 완화 조치를 적용함으로써 콸리피케이션 없이 줄어들 수 있다. 그러나 이에는 추가 및 비싼 프로세스 단계가 필요하다. 따라서 콸리피케이션 키트 적용의 목적은 툴 애플리케이션 상 가장 적은 에러 완화규제로 되도록 많은 기능에 충족하는 것이다. 반면 툴의 모든 기능을 테스트하는 콸리피케이션 키트의 제작에는 많은 노력이 필요하다. 따라서 테스트를 성공적으로 수행함으로써 피할수 있는 완화 조치에 따른 테스트 생성의 우선순위가 존재한다. 선택된 최적의 툴 기능을 보유한 콸리피케이션 키트를 정해진 시간 내에 만드는 것은 적절한 툴의 모델과 수용가능한 사용자 제한 없이는 불가능하다. 콸리피케이션 키트의 적용 과정에서 사용자는 어느 툴 기능을 사용할지 선택할 수 있다. 각각 기능에서 기능의 사용가능성을 규정하는 “콸리피케이션 상태”를 확인할 수 있다.
• 빨강: 기능의 잠재적 에러를 위한 테스트나 완화 조치가 없기 때문에 기능이 사용될 수 없다.
• 노랑: 기능의 잠재적 에러를 완화하기 위한 가이드라인을 적용한다는 규제 하에 기능을 사용할 수 있다.
• 초록: 잠재적 에러가 없다는 것을 검증해줄 수 있는 테스트가 있기에 기능을 제약 없이 사용할 수 있다.

.

이상 텍사스 인스트루먼트에서 의뢰한 컴파일러 모델기반 툴 번역(영어번역)의 일부를 살펴 보았습니다. 
번역은 기버 번역