소프트웨어 신뢰성


최근 소프트웨어 신뢰성 관련 자료를 찾아보고 있다. 소프트웨어에 신뢰성이란 말이 어울리지 않는다고 생각했고, 그래서 말도 안되는 소리라고 생각했었는데, 우연찮게 검색을하다가 발견했다.

생각보다 오래된 이론이더라는….

IEEE표준도 있다.

IEEE Std 1633-2008: IEEE recommended practice on software reliability

 

논문도 조사해보니, 굉장히 많더라는…

 

하지만, 논문들을 살펴보면서 여러가지 의문점이 들었다.

Q. 신뢰성을 검증하고자 하는 목적이 무엇인가? 솔직히 에러 좀 있으면 어떠한가? 그게 하나도 없어야 되는 이유가 있는가? 에러 있는거 알고도 릴리즈 할 수 있다. 중요한 거 아니면 다음에 릴리즈 하면 된다.

/ A. 좋다, 그렇다면 신뢰성 검증에서 사소한 에러는 제외하고 중요 에러만 샘플링해서 해보는건 어떤가?

 

Q. Reliability growth model을 이용해서 신뢰도를 예측한다고? 좋다. 그러면 그것을 어떻게 validation할 것인가? 내 생각에 Model의 정확성이 중요한데, 이것을 검증할 방법은 딱히 없을 것 같다.

Q. test sample의 randomness는 어떻게 입증할 수 있을까? 그거 중요할 것 같은데.. 10개짜리 test case를 copy & paste해서 100만번 돌린거랑 무작위 샘플 100만개 잡은거랑 다를 수 밖에 없을 것이다.

Q. 이 이론으로 검증할 수 있는 실용적인 유의수준이 어느정도 되는가? 1.0E-6할 수 있겠는가? 1.0E-9는 가능한가?

 

소프트웨어 신뢰성 하시는 분들이 이 글보면 도움을 주시길..

 

참고할 만한 글

소프트웨어의 신뢰성에 대한 개인적 의견

SOFTWARE RELIABILITY와 DO-178C/DO-278

 

Validation Management in an ATM Research Project


Abstract:

이 논문은 Mediterranean Free Flight(MFF)에서 사용된 validation process를 설명한다. MFF는 6년 ATM연구 프로젝트로 European Commission에서 지원하였고 운영 개념(Operational Concepts)과 분리 보증(separation assurance)과 관련된 작업의 위임을 통한 영공(airspace)의 더욱 효율적 사용을 위한 절차를 연구하였다. 최근의 validation연구의 initiatives에서 제안된 validation 접근법(특히 MAEVA에서)은 MFF에서 수정되었고, 통합되었고 적용되었다. 이 논문은 어떻게 프로젝트 validation objective가 식별되고 조사되었는지에 대해 설명한다. 목적은 MFF 운영 개념의 적절성을 판단하기 위해서 및 전체적인 ATM objective내의 관계를 판단하기 위해서이다. 그 다음 논문에서는 채택된 Validation process를 상세하게 설명하고 다른 단계에서 사용된 실제적인 방법의 사례, Validation Data Repository의 사용의 설명, Eurocontrol에 의해 개발된 정보 관리 자원을 보여준다. 목적은 Validation 결과의 수집, 비교, 통합을 지원하기 위해서이다. 이 논문은 Validation Process의 적용으로부터의 주요 피드백, Validation data repository의 사용을 보고하는 것으로 결론을 맺으며, 관련된 장점과 단점에 대해서 논의한다.

AIR TRAFFIC MANAGEMENT SAFETY CHALLENGES


Abstract

항공 교통 관리(Air Traffic Management, ATM)의 주요 목표는 사고 리스크를 제어하는 것이다. ATM안전은 장비의 개량이나 추가적 안전 방어들을 통해 여러가지 이유로 수십년에 걸쳐서 향상되어왔다. 하지만 ATM안전 목표는 현재의 성능을 증진시키는데 있어서 현재 매우 큰 부담이다. 안전 분석가와 항공 정책 결정자들은 통계적으로 불완전한 증거들을 기반으로 안전 평가를 해야만 한다. 만약에 미래의 리스크가 정확도 높게 예측이 되지 않는다면 어떻게 교통 증가와 운영적/기술적 변화에 따른 안전 보장을 할 수 있겠는가? 미국의 Next Generation Air Transportation System(NextGen)과 유럽의 Single European Sky ATM Research Programme(SESAR)에 대한 설계 결과(design implication)는 무엇인가? ATM사고를 이끈 요인(precursor) 비행사/관제사(pilot/controller)의 업무 부담(workload), 잘못된 의사소통(miscommunication), 최신 정보의 부족으로 인한 것이었다. 이러한 사고의 요인들이 더 나은 시스템의 지식에 의해 설계로 커버하였다(designed out)고 자신있게 말할 수 있는가? 예를 들자면, 음성 통신대신 ATM 참여자, 자동 안전 체크, 기계를 통해서? 미래의 잠재적으로 위험한 상황은 위버링겐 상공 공중충돌과 같이 시스템 관점에서 엉망이 될 것이다. ATM안전 규제 정책이 목적에 부합한가: 혁신하고, 새로운 기술과 새로운 운영 개념을 도입하는 것은 더욱 어려워지는가? 규제기관들은 더욱 적극적이어야 하는가? 예를 들면 더 많은 검사와 실제 운영 및 조직적 학습을 감시해야 하는가?