Formal Methods and Embedded System Verification
We translate requirements and designs into mathematical models to analyse them, and verify the actual code in usage logs and simulation environments. This is the lab's oldest line, running since 1994.
Background
Defects in embedded software are harder to catch when they come from interaction between components than when a single function is written wrong. Indirect dependencies, where several modules share a global variable or one sensor's reading changes the conditions under which another operates, do not show up by reading the code. And they only reproduce under a specific execution order.
The other constraint is the target hardware. Software for appliances, vehicles, or naval combat systems needs the physical equipment to run, each test costs a lot, and early in development the equipment does not exist at all. Deferring verification means design defects surface only at integration.
Approach
Formal Analysis with Petri Nets
Requirements and distributed processes are moved into modular Petri nets so reachability and safety can be analysed. Safety is checked not only by forward reachability but also by backward analysis that traces upward from a hazardous state. To handle state explosion we studied slicing, which cuts a model so only part of it is analysed, together with parallel traversal of the state space of concurrent finite state machines. This extended into integrating use cases as modular Petri nets so interactions can be analysed at the requirements stage.
LTS-Based Compositional Safety and Timing Analysis
A distributed embedded system cannot be verified by merging every component into one model: the state count becomes unmanageable. We worked on compositional verification, which reduces components under LTS equivalence before composing upward, and on synthesising and checking real-time timing constraints with modular TER nets.
Interaction-Based Integration Testing
Test cases already written for unit testing are characterised by execution path and reused at integration to build function interaction test sequences. The goal is to find indirect interactions that never appear as a direct call, by following definition-use patterns of global variables and data flow. Fault injection then confirms whether such a path actually causes a failure.
Usage Log-Based Testing
Logs left behind during real operation are turned back into per-input behaviour models, and combinatorial analysis finds dependencies between environmental components that have not yet been exercised, adding tests for them. The target is failures caused by wrong assumptions about the environment, where the code is correct but the surroundings differ. We also built a framework that turns the same logs back into unit test harnesses.
SiL Simulation-Based Verification
Software is run on a PC and verified without physical equipment. For AUTOSAR components we modified the OSEK operating system so that unit tests run on a virtual prototype, and we applied SiL testing tools to refrigerator and washing machine control software to cut testing time. We also worked on a RIOS-based approach that folds testing and monitoring into the application structure itself.
Selected Records
The list below is a selection. Some records sit on the boundary between areas, so it is not exhaustive; the full list is in the Archive. Titles and author names are kept in their original language.
- Full text ↗
환경의 특성을 고려하는 입력 로그 기반의 임베디드 소프트웨어 테스팅PhD Thesis
정수용
경북대학교, 2022
- DOI ↗
Usage Log-Based Testing of Embedded Software and Identification of Dependencies among Environmental ComponentsInternational JournalIF 0.695
Sooyong JEONG, Sungdeok CHA, Woo Jin LEE
IEICE Transactions on Information and Systems, Vol. E104.D, No. 11, pp. 2011-2014, 2021-11-1
- DOI ↗
A Log-Based Testing Approach for Detecting Faults Caused by Incorrect Assumptions About the EnvironmentInternational JournalIF 0.449
Sooyong JEONG, Ajay Kumar JHA, Youngsul SHIN, Woo Jin LEE
IEICE Transactions on Information and Systems, Vol. E103.D, No. 1, pp. 170-173, 2020-1-1
- DOI ↗
Integration testing based on indirect interaction for embedded systemInternational Journal
Muhammad Iqbal Hossain, Woo Jin Lee
International Journal of Reconfigurable and Embedded Systems (IJRES), Vol. 8, No. 2, pp. 86, 2019-7-1
- Full text ↗
RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법Patent GrantedDomestic
이성희, 이우진
Granted 10-2025553 (2019-09-26)
- Full text ↗
임베디드 시스템의 통합 테스팅에서의 데이터 흐름 기반 간접 상호작용 테스팅PhD Thesis
Muhammad Iqbal Hossain
경북대학교, 2018
- Full text ↗
냉장고 제어 소프트웨어 테스팅 시간 단축을 위한 SIL 테스팅 도구 개발MS Thesis
서보영
경북대학교, 2017
- DOI ↗
임베디드 시스템의 결함주입 기반 간접 상호작용 테스팅 기법Domestic Journal
Muhammad Iqbal Hossain, 이우진
정보처리학회논문지. 소프트웨어 및 데이터공학, Vol. 6, No. 9, pp. 419-428, 2017-09
- DOI ↗
An automated testing method for AUTOSAR software components based on SiL simulationInternational Conference
Sooyong Jeong, Woo Jin Lee
2017 Ninth International Conference on Ubiquitous and Future Networks (ICUFN), Milan, Italy, pp. 278-283, 2017-07
- Full text ↗
세탁기 임베디드 소프트웨어 단위 및 통합 테스트 가상환경 구축MS Thesis
장영근
경북대학교, 2016
- Full text ↗
임베디드 소프트웨어 단위 테스트를 위한 로그 기반 테스팅 장치 및 그 방법Patent GrantedDomestic
류호동, 이우진
Granted 10-1648307 (2016-08-23)
- DOI ↗
A Testing Method for AUTOSAR Software Components Using Virtual Prototyping by Modification of OSEK Operating SystemInternational Journal
Hodong Ryu, Sooyong Jeong, Woo Jin Lee
pp. 899-905, 2015
- Full text ↗
임베디드 소프트웨어의 단위 테스팅을 위한 로그 기반의 테스팅 프레임워크 개발PhD Thesis
류호동
경북대학교, 2015
- Full text ↗
단위 테스트 케이스 재사용 기반의 함수 테스트 장치 및 그 함수 테스트 방법Patent GrantedDomestic
이우진, 신영술
Granted 10-1410099-0000 (2014-06-25)
- DOI ↗
Integration testing through reusing representative unit test cases for high-confidence medical softwareInternational Journal
Youngsul Shin, Yunja Choi, Woo Jin Lee
Computers in Biology and Medicine, Vol. 43, No. 5, pp. 434-443, 2013-6
- DOI ↗
A Function Interaction Testing by Reusing Characterized Test CasesInternational Journal
Youngsul SHIN, Woo Jin LEE
IEICE Transactions on Information and Systems, Vol. E95.D, No. 9, pp. 2232-2234, 2012
- Full text ↗
Test Case Generation Considering Definition-Use of Global Variables for Integration TestingInternational Conference
Muhammad Iqbal Hossain, Woo Jin Lee
Jeju Island, Korea, 2012-07-16
- Full text ↗
Modeling and Analysis of System Behaviors Using Dynamic Petri netsMS Thesis
Thi Ly Cao
경북대학교, 2011
- Full text ↗
병행적 유한상태머신의 상태폭발 완화를 위한 병렬적 상태 공간 순회 기법MS Thesis
이정선
경북대학교, 2010
- DOI ↗
Safety Property Analysis Techniques for Cooperating Embedded Systems Using LTSInternational Journal
Woo Jin Lee, Ho-Jun Kim, Heung Seok Chae
pp. 114-124, 2007
- Full text ↗
Synthesis and Analysis of Timing Constraints for Real-Time Embedded Systems using Modular TER netsInternational Journal
Woo Jin Lee, Ho Kyoung Lee
WSEAS Transactions on Computers, Vol. 6, No. 5, pp. 741-748, 2007-05
- Full text ↗
내장형 소프트웨어 시스템의 역방향 안전성 분석 방법 및 그 장치Patent GrantedDomestic
이우진, 임채덕, 김흥남
Granted 1003162460000 (2001-12-12)
A Slicing-based approach to enhance Petri Net Reachability AnalysisInternational Journal
W.J. Lee, S.D. Cha, H.N. Kim, Y.R. Kwon
Australian Computer Journal, Vol. 32, No. 2, pp. 131-143, 2000-05
- Full text ↗
Analysis of functional requirements using constraints-based modular Petri NetsPhD Thesis
Woo Jin Lee
한국과학기술원(KAIST), 전산학과, 1999
- Full text ↗
CPN 모델의 역방향 안전성 분석 도구 개발Domestic Journal
이우진, 채흥석, 차성덕, 이장수, 권용래
한국정보과학회논문지:컴퓨팅의 실제 및 레터, Vol. 5, No. 4, pp. 457-466, 1999-08
- DOI ↗
Integration and analysis of use cases using modular Petri nets in requirements engineeringInternational Journal
Woo Jin Lee, Sung Deok Cha, Yong Rae Kwon
IEEE Transactions on Software Engineering, Vol. 24, No. 12, pp. 1115-1130, 1998
Related Research Projects
분산 임베디드 소프트웨어의 실행로그 기반 테스팅 프레임워크Research Project
2017-06-01 ~ 2022-02-28, 한국연구재단, 연구책임자, KRW 37500K
스마트 자동차를 위한 AUTOSAR 기반 차량 내외부 통신 플랫폼 및 응용 기술Research Project
2011-05 ~ 2016-12
역공학 기반 임베디드 소프트웨어의 신뢰성 향상 및 테스팅 자동화 연구Research Project
2010-05-01 ~ 2013-04-30, 한국연구재단, 연구책임자, KRW 55001K
소나체계 데이터 전송 시스템 설계 검증 기법 연구Research Project
2009-09-01 ~ 2012-12-30, 국방과학연구소(ADD-진해), 연구원
차량 전장용 실시간 운영체제의 국제표준 적합성 인증 연구Research Project
2009-05-01 ~ 2009-11-30, ETRI, 연구책임자, KRW 20000K
S/W modeling & verification with formal methodResearch Project
2007-04-20 ~ 2007-10-20, LG전자, 연구책임자, KRW 15000K
고신뢰도 내장형 실시간 소프트웨어 개발 기술Research Project
2006-09 ~ 2011-12, 국방과학연구소
분산 임베디드 시스템의 모델링 및 안전성 분석방법에 관한 연구Research Project
2005-01-19 ~ 2006-01-18, 한국학술진흥재단, 연구책임자