본문 바로가기
반응형

Tool 사용, 리뷰5

정적검증 시 MISRA C 가이드라인이란? #임베디드 자동차 모델 기반 코딩 규칙 MISRA C의 등장 배경Misra C의 등장 배경은 C 언어를 사용하는 소프트웨어 개발에서 발생하는 여러 문제를 해결하기 위해 만들어졌다.C언어는 강력하고 유연한 언어지만, 잘못 사용할 경우 코드의 안전성, 보안성, 이식성 등에 문제가 발생할 수 있다.특히, 안전 관련 산업 분야에서는 이러한 문제가 치명적일 수 있다. Misra C의 등장 배경에는 다음과 같은 이유들이 있다: 1. 소프트웨어 신뢰성 요구 증가산업 분야에서 사용되는 소프트웨어의 신뢰성 요구가 증가하면서, 안전하고 신뢰할 수 있는 코드를 작성하기 위한 필요성이 대두되었다. 2. C 언어의 유연성과 위험성C언어는 매우 유연한 언어이지만, 잘못 사용할 경우 버그, 보안 취약점, 메모리 오류 등이 발생할 수 있다. 3. 산업 안전 요구 사항의 .. 2024. 5. 1.
[Tool] HKSAT 정적 분석 Tool 소개 HKSAT 용도 HKSAT는 다음과 같은 용도로 사용될 수 있다. 소스 코드 구문 및 구조 추출 실시간 소프트웨어의 성능 예측 실시간 소프트웨어의 시간제약준수 보장 코딩 규칙 준수여부 검사 (API 사용규칙, 전역변수 초기화) 잠재적 구현 위험 요소 검출 (경쟁조건, 재귀호출, 최대 스택 사용량, 중복 코드) 코드 변경 후 재시험 필요 모듈 파악 HKSAT 특징 소프트웨어의 오류를 개발 초기 단계에 검출할 수 있도록 도와준다. 임베디드 소프트웨어의 소스 코드를 다양한 방법으로 분석하여 오류를 검출하고 그 결과를 보고서로 제공한다. 분석 수행에서 문서화까지의 작업을 자동으로 수행한다. 분석 결과를 시각화하여 사용자가 쉽게 파악할 수 있도록 한다. 하나의 플랫폼을 기반으로 다양한 분석을 수행할 수 있다. 메.. 2024. 4. 9.
[Tool] 자주 사용하는 GIT 명령어 정리 #Bash Clone git clone 명령어는 복제할 repository 의 주소를 로컬 저장소에 복제해오는 작업이다. repository 를 복사해 오기 위해서는 repository 의 주소를 알아야 한다. 예시로 repository를 http://jjongday/SBCM_RL.git 이라고 가정하면 아래와 같이 입력하면 된다. git clone http://jjongday/SBCM_RL.git Checkout git chechout 명령어는 프로젝트 기록의 특정 시점으로 repository 상태를 업데이트하는데 사용된다. 브랜치 이름과 함게 전달하면 브랜치 간에 전환이 가능하다. 예시로 jjonday_SBCM 브랜치로 이동하려면 아래와 같이 입력하면 된다. git checkout "jjongday_SBCM" .. 2024. 4. 5.
[Tool] 형상관리 Tool 중 하나인 GIT이란? GIT 이란? 소스코드를 효과적으로 관리할 수 있게 해주는 무료 소프트웨어이며, 분산 버전 관리 시스템(Distributed Revision Control System)이다. 버전 관리 시스템은 크게 중앙 집중식 버전 관리와 분산 버전 관리로 나눌 수 있다. 중앙 집중식 버전 관리의 경우에는 central server에서 코드를 가져오면 그 코드의 commit(변경 기록들)은 가져오지 않고 오직 중앙 서버의 파일만을 받아오는 반면 분산 버전 관리 시스템은 해당 저장소를 변경 기록들과 함께 복제해온다. 그래서 CVCS의 경우 중앙서버에 문제가 생기면 변경기록들을 전부 잃는 반면에 DVCS에서는 중앙서버에 문제가 생겨도 clients중 하나를 골라 변경기록들과 함께 서버를 복원시킬 수 있다. GIT 특징 -.. 2024. 4. 3.
[Tool] 형상관리 Tool 중 하나인 SVN이란? SVN이란? SubVersion 단어의 줄임말로 중앙집중관리식 형상관리 소스 관리 툴이다. 각각의 개발자들이 본인의 코드 변경 사항을 하나의 중앙 저장소 (Center Repository) 에 commit 하는 방식으로 운영한다. 즉, 로컬 PC에서 commit 시 중앙 저장소에 바로 반영되고 중앙 저장소에 있는 내용들을 다른 로컬 PC에 업데이트 시킬 수 있다. 이해가 직관적이라는 장점이 있지만 중앙 저장소에 문제가 발생될 경우에 서비스 자체가 중단되는 현상이 발생할 수 있다. SVN 용어 정리 - Trunk : 프로젝트에서 가장 중심이 되는 디렉토리. 개발소스를 Commit 했을 때 개발 소스가 모이는 곳. - Branche : trunk에서 분리/복사한 소스로 버전별 배포판을 만들거나 trunk와 .. 2024. 3. 31.
반응형