무기체계 소프트웨어 신뢰성 시험 개선점 도출을 위한 소프트웨어 정적/동적 검증 분석 사례연구
Analytical Study on Software Static/Dynamic Verification Methods for Deriving Enhancement of the Software Reliability Test of Weapon System
1
조회
0
다운로드
1
인용
0
참고문헌
키워드
초록
무기체계 소프트웨어 개발 시 수행하는 신뢰성 시험은 크게 정적 검증과 동적 검증으로 구분된다. 정적 검증에서는 소프트웨어 코드를 수행시키지 않고 코딩 규칙 점검, 취약점 점검, 소스 코드 메트릭 점검을 수행하고, 동적 검증에서는 요구 사항을 기반으로 실제 소프트웨어를 실행시켜 기능을 검증하고 코드 실행률을 측정한다. 이러한 정적/동적 검증의 목적은 소프트웨어에 존재하는 결함을 발견하기 위한 것이다. 그러나 현재의 무기체계 소프트웨어 신뢰성 시험만으로는 여전히 탐지할 수 없는 결함들이 존재한다. 본 논문에서는 소프트웨어에서 발생할 수 있는 결함에 대해 무기체계 신뢰성 시험의 정적 검증과 동적 검증으로 탐지를 할 수 있는지를 사례실험을 통하여 분석 한다. 그 결과로 현재의 정적 검증과 동적 코드 커버리지 측정에서 더 나아가 무기체계 신뢰성 시험, 특히 동적 시험의 개선방안으로 연결하고자 한다.
Abstract
The reliability test performed when developing the weapon system software is classified into static test and dynamic test. In static test, checking the coding rules, vulnerabilities and source code metric are performed without executing the software. In dynamic test, its functions are verified by executing the actual software based on requirements and the code coverage is measured. The purpose of this static/dynamic test is to find out defects that exist in the software. However, there still exist defects that can’t be detected only by the current reliability test on the weapon system software. In this paper, whether defects that may occur in the software can be detected by static test and dynamic test of the current reliability test on the weapon system is analyzed through experiments. As a result, we provide guidance on improving the reliability test of weapon system software, especially the dynamic test.
참고문헌 (13)
- 김정훈, "국방 M&S의 특징 분석과 이를 통한 VV&A 방향", 대한산업공학회지, 39(6), pp.486~497 (2013), 대한산업공학회[DOI]
- 권경용, "신뢰성 시험 프로세스 개선을 통한 무기체계 내장형 소프트웨어 소스코드 품질확보에 관한 연구", 정보과학회논문지, 42(7), pp.860~867 (2015), 한국정보과학회
- Defense Acquisition Program Administration Manual No.2017-8, "Weapon System Software Development and Management Manual", ~ (2017)
- 박지현, "국방 무기체계 소프트웨어 신뢰성 향상을 위한 소프트웨어 동적 결함 분석", 정보처리학회 논문지, 7(7), pp.249~258 (2018), 한국정보처리학회[DOI]
- MISRA C 2012: Guidelines for the Use of the C Language in Critical Systems: March 2013, "Motor Industry Software Reliability Association", Motor Industry Research Association, ~ (2013)
- S. N. Cant, "A Conceptual Model of Cognitive Complexity of Elements of the Programming Process", Information and Software Technology, 37(7), pp.351~362 (1995)
- Jooyoung Seo, "A Profiling Merhod by PCB Hooking and its Application for Memory Fault Detection in Embedded System Operational Test", Journal of Information and Software Technology, 53(1), pp.106~117 (2011)
- Jooyoung Seo, "Software Generated Device Exception for more Intensive Devicerelated Software Testing : An Industrial Field Study", Journal of Systems and Software, 86(12), pp.3193~3212 (2013)
- F. Wu, "Memory Mutation Testing", Information and Software Technology, 81, pp.97~111 (2017)
- Hossain Shahriar, "Mutationbased Testing of Buffer Overflow Vulnerabilities, Computer Software and Applications", (COMSAC'08) 32nd Annual IEEE International, pp.979~984 (2008)
- Markus Kusano, "CCmutator: A Mutation Generator for Concurrency Constructs in Multithreaded C", C++ Applications, ACM International Conference on Automated Software Engineering, pp.2013[DOI]
- Alper Sen, "Mutation Operators for Concurrent SystemC Designs", Microprocessor Test and Verification (MTV), 10th International Workshop on, pp.27~31 (2009)
- Sunwoo Kim, "Class Mutation: Mutation Testing for Object-oriented Programs", Proc. Net. ObjectDays. Erfurt, Germany: Net. Objects, pp.9~12 (2000)
