본 논문에서는 다양한 유형의 소프트웨어 신뢰성 모형을 소개하고, 소프트웨어 신뢰도를 판단하는 기법으로 순차적 확률비 검정을 제안한다. 기존의 소프트웨어 신뢰성 성장 모형의 경우, 이론적으로 설계된 테스트 시간과 실제 테스트 시간은 동일하다고 가정한다. 그러나 테스트를 코드에 오류가 발생하면 코드 수정시 오류가 지연되므로 이론적 테스트 시간과 실제 테스트 시간은 달라진다. 따라서 본 논문에서는 테스트 코드에서 발생하는 구문 오류로 인해 테스트 디버깅이 지연된다고 가정한 소프트웨어 신뢰성 성장 모형을 소개한다. 또한 비균질 포아송 프로세스를 기반으로하는 대부분의 소프트웨어 신뢰성 성장 모형은 고장이 독립적으로 발생한다고 가정한다. 그러나 때때로 소프트웨어 고장은 종속적으로 발생한다. 예를 들어 소프트웨어를 구현하는 코드 내의 특정 클래스에서 오류가 발생하면 해당 클래스를 참조하는 다른 클래스에서도 오류가 발생하여 연쇄적으로 고장이 발생하게 된다. 따라서 본 논문에서는 종속적인 고장을 가정한 소프트웨어 신뢰성 성장 모형을 소개한다. 본 논문에서는 소프트웨어 신뢰도를 결정하기위한 통계적 기법으로 SPRT(Sequential Probability Ratio Test)를 제안한다. SPRT의 효율성을 입증하기 위해 먼저 SPRT를 모형의 모수에 적용하여 민감도를 파악한 후, 민감한 모수를 제외한 나머지 모수 집합에 대해 SPRT를 적용하여 데이터 세트의 신뢰도을 결정한다. 또한의 델타(delta)의 수준에 따른 SPRT 결과와 데이터 세트의 신뢰도를 비교하여 최종적으로 델타의 수준을 제안한다.
With the development of information technologies such as big Data, machine Learning, and artificial intelligence (AI), software is being used in various fields. In particular, the internet of things (IoT), which combines the Internet and things, has opened the IoT era, steadily expanding its use and form over the past decade. Recently, artificial intelligence of things (AIoT), which combines IoT and AI, is drawing attention. IoT products provide personalized services through artificial intelligence and are used in home appliances, automobiles, and medical equipment, and the software industry is booming. As software and various fields converge, new industries have emerged, which is drawing attention as a key industry in the future. For example, smart factories utilize IoT to digitize factory records and data into electronic documents and manage the incoming and outgoing of products in real time. Smart medicine helps patients check their health conditions and receive treatment in an appropriate time through self-diagnostic software. However, security and reliability are critical because these systems are vulnerable to cyber attacks, especially manufacturing equipment and medical devices. The reliability of the software is the primary measure by which consumers and developers can determine the operational stability of the software. To estimate the reliability of software, a software reliability growth model (SRGM) is used as a tool. The homogenous Poisson process (HPP) is followed if the failure rate does not change over time of use and remains constant. However, in general, the probability of a product failing increases as its usage time increases, and the quality decreases. This is the case for most software and follows the non-homogenous poisson process (NHPP). The software reliability growth models have various forms depending on the environment of the software and the assumptions considered, expressed in m(t), a unique mean value function. In this paper, we introduce different types of software reliability models and propose a sequential probability ratio test as a technique for determining software reliability. For most existing software reliability growth models, it is assumed that the test time is theoretically the same as the designed test time and the actual test time. However, if an error occurs in the code responsible for the test, the time between the theoretical test time and the actual test time differ because the error is delayed in correcting the code. Therefore, in this paper, we introduce a software reliability growth model that assumes that test debugging is delayed due to syntax errors that occur in the test code. Furthermore, most software reliability growth models based on the non-homogeneous poisson process assume that failures occur independently. However, sometimes software failures occur dependently. For example, if an error occurs in a particular class within the code implementing the software, it also occur in other classes referencing that class, which lead to a chain of failures. In this case, the failure will occur dependent. Therefore, in this paper, we introduce a software reliability growth model that assumes such a subordinate failure. In this paper, we propose a sequential probability ratio test (SPRT) as a statistical technique for determining software reliability. To demonstrate the efficiency of the SPRT, we first apply the SPRT to the parameters of the model to anlaysis the parameter sensitivity. We determine the reliability of the dataset by applying SPRT for the remaining parameters except for sensitive parameters. We also compare the SPRT results based on the level of delta to estimate the reliability of the dataset, and finally propose the level of delta based on this result. The composition of this paper is as follows. Chapter 2 addresses the general concept of reliability and distribution function of reliability. Chapter 3 introduces the concept of software reliability and the kinds of software reliability models, among which we focus on the non-homogeneous Poisson process model. In particular, we compare criterias by fitting datasets to existing models, along with new types of models, and select optimal models. Chapter 4 addresses the concept of SPRT, and procedures for estimating software reliability using SPRT. Furthermore, after examining the sensitivity of parameters according to the level of in a sequential probability ratio test, we propose optimal parameters of model to apply the final SPRT, and we show conclusions and suggestions in Chapter 5.