KR20110023124A - 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법 - Google Patents

차량용 전자제어장치의 소프트웨어 검증 장치 및 방법 Download PDF

Info

Publication number
KR20110023124A
KR20110023124A KR1020090080750A KR20090080750A KR20110023124A KR 20110023124 A KR20110023124 A KR 20110023124A KR 1020090080750 A KR1020090080750 A KR 1020090080750A KR 20090080750 A KR20090080750 A KR 20090080750A KR 20110023124 A KR20110023124 A KR 20110023124A
Authority
KR
South Korea
Prior art keywords
keyword
ecu
software
test case
extracted
Prior art date
Application number
KR1020090080750A
Other languages
English (en)
Inventor
안성호
김진삼
김재영
김광수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020090080750A priority Critical patent/KR20110023124A/ko
Publication of KR20110023124A publication Critical patent/KR20110023124A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

차량용 전자제어장치의 소프트웨어 검증 장치는 차량용 전자제어장치에 특화되고 파일 형태로 입력되는 요구사항으로부터 키워드를 추출하고, 추출한 키워드와 각 키워드에 대응되는 입력 값을 토대로 명세 기반의 테스트 케이스를 생성한다. 그리고, 생성된 테스트 케이스를 이용하여 차량용 전자제어장치의 소프트웨어에 대한 검증을 수행한다.
차량, ECU, 키워드, 요구사항, 응용 프로그램, 소프트웨어, 명세기반

Description

차량용 전자제어장치의 소프트웨어 검증 장치 및 방법{Apparatus and method for verification for automotive ECU software}
본 발명은 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법에 관한 것이다.
기존의 소프트웨어 시험 검증 장치는 시험 대상 소프트웨어의 문법적 오류나 특정 규칙(예를 들어, MISRA-C 룰 등)에 대해 비교 검토한 결과를 개발자에게 보고하거나, 시험 대상 소프트웨어의 경계값, 조건/결정 등에 따라 테스트 케이스를 작성하여 소프트웨어를 시험 검증한다.
한편, 이러한 기존의 소프트웨어 시험 검증 장치는 범용의 소프트웨어에 대해 적용되는 것이 대부분이기 때문에 자동차 분야 등 특정 분야의 특성을 반영하지 못하는 경우가 발생한다.
본 발명이 이루고자 하는 기술적 과제는 차량용 전자제어장치의 소프트웨어를 효율적으로 검증하기 위한 소프트웨어 검증장치 및 그 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 차량용 전자제어장치(Electronic Control Unit, ECU)의 소프트웨어 검증 장치는,
차량 내 장치들을 복수의 그룹으로 구분하고, 각 그룹에 포함된 장치들의 동작을 제어하는 ECU의 동작과 관련한 키워드들을 저장하는 데이터베이스; 상기 데이터베이스에 저장된 키워드들을 토대로 입력되는 요구사항으로부터 키워드를 추출하는 키워드 추출부; 상기 요구사항으로부터 추출한 키워드와 상기 추출한 키워드에 대응하는 입력 값을 토대로 명세 기반의 테스트 케이스를 생성하는 테스트 케이스 생성부; 및 상기 테스트 케이스를 토대로 상기 요구사항에 대응하는 ECU의 소프트웨어를 테스트하는 테스트부를 포함한다.
또한, 본 발명의 다른 특징에 따른 차량용 전자제어장치(Electronic Control Unit, ECU)의 소프트웨어 검증 방법은,
상기 ECU의 동작과 관련한 키워드들을 저장하는 단계; 파일 형태의 요구사항을 입력 받는 단계; 저장된 상기 키워드들을 토대로 상기 요구사항으로부터 키워드를 추출하는 단계; 상기 요구사항으로부터 추출한 키워드 및 상기 추출한 키워드에 대응하는 입력 값을 토대로 명세 기반의 테스트 케이스를 생성하는 단계; 및 상기 테스트 케이스를 토대로 상기 ECU의 소프트웨어를 테스트하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 차량 전장용 ECU의 특성을 반영한 소프트웨어 검증이 가능하고, 차량 전장용 ECU 분야의 전문가가 아닌 사용자가 차량 전장용 ECU에 대한 신뢰성 검증을 수행하는 것이 가능한 효과가 있다. 또한, 요구사항 별로 소프트웨어 검증이 수행되었는지에 대한 관리가 가능한 효과가 있다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제 아래에서는 본 발명의 실시 예에 따른 차량용 전자제어장치(Electronic Control Unit, 이하 'ECU'라 칭함)의 소프트웨어 검증장치 및 그 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 차량용 ECU의 소프트웨어 검증장치를 개략적으로 도시한 구조도이다.
도 1을 참조하면, 소프트웨어 검증장치는 데이터베이스(110), 입력부(120), 출력부(130), 키워드 추출부(140), 보정부(150), 테스트 케이스 생성부(160) 및 테스트부(170)를 포함한다.
데이터베이스(110)는 차량 내 장치들을 적어도 하나의 그룹으로 구분하고, 각 그룹 별로 대응하는 장치들의 동작을 제어하는 ECU의 동작과 관련하여 ECU로 전달되는 요구사항과 관련한 키워드를 저장한다. 또한, 각 요구사항 별로 ECU로 전달되는 기본 입력값을 저장할 수도 있다. 여기서, 차량 내 장치들은 기능 및 위치에 따라 파워트레인, 인포테인먼트(infotainment), 샤시, 바디, 차량 네트워크 등의 그룹으로 구분될 수 있다.
키워드 추출부(140)는 파일 형태의 요구사항이 입력되면, 데이터베이스(110)에 저장된 키워드들을 참조하여 입력되는 요구사항 별로 키워드를 추출한다. 여기서, 요구사항은 사용자에 의해 엑셀 등의 파일 형태로 작성되어 입력되며, 입력부(120)는 입력되는 파일 형태의 요구사항에 대한 구문분석과 단어분석을 통해 키워드를 추출한다.
보정부(150)는 입력부(120)를 통해 키워드 추출부(140)에서 추출한 키워드에 대한 보정 내용이 입력되면, 이를 토대로 키워드 추출부(140)에서 추출한 키워드를 보정한다. 또한, 보정한 키워드를 토대로 데이터베이스(110)를 업데이트 한다.
테스트 케이스 생성부(160)는 보정부(150)에서 보정된 요구사항 별 키워드와 각 키워드에 대응되는 ECU의 입력값을 토대로 명세 기반의 테스트 케이스를 생성한다. 여기서, 각 키워드에 대응되는 입력값은 데이터베이스(110)에서 읽어오거나 입력부(120)를 통해 사용자로부터 입력받은 입력값을 이용할 수 있다. 또한, 명세 기반의 테스트 케이스 생성을 위해 등가 분할, 경계값 분석, 결정 테이블 테스팅, 상태 전이 테스팅, 유즈케이스 테스팅, 조합 테스팅 등의 명세 기반 기법을 수행한 다.
테스트부(170)는 테스트 케이스 생성부(160)에서 생성한 테스트 케이스를 토대로 ECU의 소프트웨어를 테스트하고, 테스트 결과를 출력부(130)를 통해 출력한다. 또한, 테스트부(170)는 입력부(120)를 통해 테스트 예상 결과가 입력되면, 이를 실제 테스트 케이스를 이용하여 ECU의 소프트웨어를 테스트한 결과와 비교 분석함으로써 ECU의 소프트웨어에 대한 검증결과를 생성하고, 생성된 검증결과를 출력부(130)를 통해 출력한다.
도 2는 본 발명의 실시 예에 따른 소프트웨어 검증 장치의 차량용 ECU의 소프트웨어 검증 방법을 도시한 흐름도이다.
도 2를 참조하면, 소프트웨어 검증 장치의 데이터베이스(110)는 차량 내 장치들을 적어도 하나의 그룹으로 구분하고, 각 그룹 별로 대응하는 장치들의 동작을 제어하는 ECU의 동작과 관련하여 ECU로 전달되는 요구사항과 관련한 키워드를 저장한다(S101). 또한, 각 요구사항 별로 ECU로 전달되는 기본 입력값을 저장할 수도 있다.
이후, 입력부(120)를 통해 사용자로부터 파일 형태의 요구사항이 입력되면(S102), 키워드 추출부(140)는 데이터베이스(110)에 저장된 키워드들을 참조하여 입력되는 요구사항 별로 키워드를 추출한다(S103). 또한, 보정부(150)는 사용자로부터 입력부(120)를 통해 키워드 추출부(140)에서 추출한 키워드에 대한 보정 내용을 입력 받고, 이를 토대로 입력되는 요구사항으로부터 추출한 키워드를 보정한다(S104). 또한, 보정한 키워드를 토대로 데이터베이스(110)를 업데이트 한다.
이후, 테스트 케이스 생성부(160)는 보정부(150)에서 보정된 요구사항 별 키워드와 각 키워드에 대응되는 ECU의 입력값을 토대로 명세 기반의 테스트 케이스를 생성한다(S105). 이때, 각 키워드에 대응되는 입력값은 데이터베이스(110)에서 읽어오거나 입력부(120)를 통해 사용자로부터 입력받은 값을 이용할 수 있다.
테스트 케이스가 생성되면, 테스트부(170)는 이를 토대로 ECU의 소프트웨어에 대한 테스트를 실행한다(S106). 그리고, 입력부(120)를 통해 사용자로부터 테스트 예상 결과가 입력 받고, 입력받은 테스트 예상 결과와 실제 테스트 결과를 비교 분석한다(S107). 그리고, 분석 결과를 토대로 생성한 소프트웨어 검증 결과를 출력부(130)를 통해 출력한다.
전술한 바와 같이, 본 발명의 실시 예에 따른 소프트웨어 검증 장치는 차량 전장용 ECU의 특성을 반영한 소프트웨어 검증이 가능한 효과가 있다. 또한, 차량 전장용 ECU에 특화된 요구사항을 입력 받고, 이로부터 추출한 키워드를 기반으로 명세기반의 테스트 케이스를 생성함으로써 차량 전장용 ECU 분야의 전문가가 아닌 사용자가 차량 전장용 ECU에 대한 신뢰성 검증을 수행하는 것이 가능한 효과가 있다. 또한, 요구사항 별로 소프트웨어 검증이 수행되었는지에 대한 관리가 가능한 효과가 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시 예에 따른 차량용 전자제어장치의 소프트웨어 검증 장치를 도시한 구조도이다.
도 2는 본 발명의 실시 예에 따른 차량용 전자제어장치의 소프트웨어 검증 방법을 도시한 흐름도이다.

Claims (11)

  1. 차량용 전자제어장치(Electronic Control Unit, ECU)의 소프트웨어 검증 장치에 있어서,
    차량 내 장치들을 복수의 그룹으로 구분하고, 각 그룹에 포함된 장치들의 동작을 제어하는 ECU의 동작과 관련한 키워드들을 저장하는 데이터베이스;
    상기 데이터베이스에 저장된 키워드들을 토대로 입력되는 요구사항으로부터 키워드를 추출하는 키워드 추출부;
    상기 요구사항으로부터 추출한 키워드와 상기 추출한 키워드에 대응하는 입력 값을 토대로 명세 기반의 테스트 케이스를 생성하는 테스트 케이스 생성부; 및
    상기 테스트 케이스를 토대로 상기 요구사항에 대응하는 ECU의 소프트웨어를 테스트하는 테스트부
    를 포함하는 소프트웨어 검증 장치.
  2. 제1항에 있어서,
    상기 데이터베이스는 상기 저장된 키워드에 대응하는 기본 입력 값을 저장하고,
    상기 테스트 케이스 생성부는 상기 추출한 키워드에 대응하는 입력 값으로 상기 추출한 키워드에 대응하는 상기 기본 입력 값을 이용하는 소프트웨어 검증 장치.
  3. 제1항에 있어서,
    상기 요구사항 및 상기 추출한 키워드에 대응하는 입력 값을 입력 받는 입력부
    를 더 포함하는 소프트웨어 검증 장치.
  4. 제1항에 있어서,
    입력되는 보정내용을 토대로 상기 추출한 키워드를 보정하여 상기 테스트 케이스 생성부로 출력하는 보정부
    를 더 포함하는 소프트웨어 검증 장치.
  5. 제1항에 있어서,
    상기 테스트부는 테스트 예상 결과를 입력 받고, 상기 소프트웨어를 테스트한 결과와 상기 테스트 예상 결과를 비교한 결과를 토대로 상기 소프트웨어에 대한 검증 결과를 출력하는 소프트웨어 검증 장치.
  6. 차량용 전자제어장치(Electronic Control Unit, ECU)의 소프트웨어 검증 방법에 있어서,
    상기 ECU의 동작과 관련한 키워드들을 저장하는 단계;
    파일 형태의 요구사항을 입력 받는 단계;
    저장된 상기 키워드들을 토대로 상기 요구사항으로부터 키워드를 추출하는 단계;
    상기 요구사항으로부터 추출한 키워드 및 상기 추출한 키워드에 대응하는 입력 값을 토대로 명세 기반의 테스트 케이스를 생성하는 단계; 및
    상기 테스트 케이스를 토대로 상기 ECU의 소프트웨어를 테스트하는 단계
    를 포함하는 소프트웨어 검증 방법.
  7. 제6항에 있어서,
    상기 저장하는 단계는,
    저장된 상기 키워드들에 대응하는 기본 입력 값들을 저장하는 단계
    를 포함하는 소프트웨어 검증 방법.
  8. 제6항에 있어서,
    상기 생성하는 단계는,
    기 저장된 기본 입력 값들 중에서 상기 추출한 키워드에 대응하는 기본 입력 값을 상기 입력 값으로 이용하여 상기 테스트 케이스를 생성하는 단계
    를 포함하는 소프트웨어 검증 방법.
  9. 제6항에 있어서,
    상기 추출한 키워드에 대응하는 입력 값을 입력 받는 단계
    를 더 포함하는 소프트웨어 검증 방법.
  10. 제6항에 있어서,
    상기 추출한 키워드에 대한 보정 내용을 입력 받는 단계; 및
    상기 보정 내용을 토대로 상기 추출한 키워드를 보정하는 단계
    를 더 포함하고,
    상기 생성하는 단계는,
    상기 보정 내용을 토대로 보정된 키워드를 이용하여 상기 테스트 케이스를 생성하는 단계
    를 포함하는 소프트웨어 검증 방법.
  11. 제10항에 있어서,
    상기 보정된 키워드를 토대로 상기 데이터베이스를 업데이트하는 단계
    를 더 포함하는 소프트웨어 검증 방법.
KR1020090080750A 2009-08-28 2009-08-28 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법 KR20110023124A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090080750A KR20110023124A (ko) 2009-08-28 2009-08-28 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090080750A KR20110023124A (ko) 2009-08-28 2009-08-28 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20110023124A true KR20110023124A (ko) 2011-03-08

Family

ID=43931280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090080750A KR20110023124A (ko) 2009-08-28 2009-08-28 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20110023124A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360332A (zh) * 2011-09-28 2012-02-22 北京航空航天大学 一种软件可靠性加速测试与评估方法及其计算机辅助工具
KR101419646B1 (ko) * 2013-02-19 2014-07-15 강원대학교산학협력단 복합 컴포넌트 테스트를 위한 예상 결과 값 자동 생성 방법 및 장치
KR20150116530A (ko) * 2014-04-07 2015-10-16 경북대학교 산학협력단 운영체제의 자동 테스트 생성 장치 및 방법
KR20190029170A (ko) * 2017-09-12 2019-03-20 현대자동차주식회사 테스트 장치 및 테스트 방법
KR20190136673A (ko) * 2018-05-31 2019-12-10 현대오트론 주식회사 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법
KR102122884B1 (ko) * 2018-12-28 2020-06-15 슈어소프트테크주식회사 차량 내 제어기와 통신하는 테스트 케이스 생성 장치 및 테스트 케이스 생성 장치의 테스트 케이스 생성 방법
KR102335401B1 (ko) * 2021-07-08 2021-12-08 비티에스테크놀로지스(주) 테스트 계획 자동 생성

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360332A (zh) * 2011-09-28 2012-02-22 北京航空航天大学 一种软件可靠性加速测试与评估方法及其计算机辅助工具
CN102360332B (zh) * 2011-09-28 2013-11-13 北京航空航天大学 一种软件可靠性加速测试与评估方法及其计算机辅助工具
KR101419646B1 (ko) * 2013-02-19 2014-07-15 강원대학교산학협력단 복합 컴포넌트 테스트를 위한 예상 결과 값 자동 생성 방법 및 장치
KR20150116530A (ko) * 2014-04-07 2015-10-16 경북대학교 산학협력단 운영체제의 자동 테스트 생성 장치 및 방법
KR20190029170A (ko) * 2017-09-12 2019-03-20 현대자동차주식회사 테스트 장치 및 테스트 방법
KR20190136673A (ko) * 2018-05-31 2019-12-10 현대오트론 주식회사 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법
US11352018B2 (en) 2018-05-31 2022-06-07 Hyundai Autron Co., Ltd. System for diagnosing software for vehicle and operating method thereof
KR102122884B1 (ko) * 2018-12-28 2020-06-15 슈어소프트테크주식회사 차량 내 제어기와 통신하는 테스트 케이스 생성 장치 및 테스트 케이스 생성 장치의 테스트 케이스 생성 방법
KR102335401B1 (ko) * 2021-07-08 2021-12-08 비티에스테크놀로지스(주) 테스트 계획 자동 생성

Similar Documents

Publication Publication Date Title
US10025696B2 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
KR20110023124A (ko) 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법
US6591403B1 (en) System and method for specifying hardware description language assertions targeting a diverse set of verification tools
US10152406B2 (en) Software program repair
US9965252B2 (en) Method and system for generating stateflow models from software requirements
US9589087B2 (en) Verification environments utilizing hardware description languages
JP2014203314A (ja) Ecuシミュレーション装置
US20120167045A1 (en) Apparatus and method for evaluating autosar meta file-based basic software properties
Cheah et al. Formalising systematic security evaluations using attack trees for automotive applications
JP4951416B2 (ja) プログラム検証方法、プログラム検証装置
CN109614107B (zh) 一种软件开发工具包的集成方法和装置
Lee et al. Requirements modeling and automated requirements-based test generation
US9043746B2 (en) Conducting verification in event processing applications using formal methods
Yao et al. Formal modeling and systematic black-box testing of sdn data plane
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
US8510692B2 (en) Verification system and method using constrained random test parameter selection
KR101334806B1 (ko) 테스트 케이스 자동 생성 시스템에서 테스트 케이스를 구성하는 입력값의 집합을 자동으로 산출하는 방법
KR100650866B1 (ko) 논리 셀 라이브러리 검증 시스템 및 방법
JP2016031622A (ja) ソフトウェア検証システムおよび制御装置
US8683454B1 (en) Reducing redundancy in source code
US8954307B1 (en) Chained programming language preprocessors for circuit simulation
CN114153435A (zh) 一种用于智能合约代码设计生成的eb2s系统及使用方法
EP3608786B1 (en) Systems and methods of requirements chaining and applications thereof
KR101665962B1 (ko) 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체
Pitchford Embedded software quality, integration, and testing techniques

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination