IT recording...

[SoftwareV&V] 03. Basic Principles 본문

V&V

[SoftwareV&V] 03. Basic Principles

I-one 2022. 2. 17. 16:03

[원문링크]

https://adorable-aspen-d23.notion.site/SoftwareV-V_03_Basic-Principles-1198bf5f4a254e8784448be69cea009f

 

SoftwareV&V_03_Basic Principles

Basic principles

adorable-aspen-d23.notion.site

[2021 - 1학기 수강한 Software V&V 강의 정리본입니다.]

(Software Verification & Validation)

 

Basic principles

Learning Objectives

  • V&V Technique 아래의 basic principle 이해하기
  • Main principle의 motivation 과 applicability 이해하기

1. V&V Principle 종류

  • Principles Specific to softwre V&V
    • Sensitivity : 실패할거면 항상
    • Redundancy : 의도를 정확히!
    • Restriction : 문제를 더 쉽게
  • Principles for general engineering
    • partition : 잘 나눠줘
    • visibility : 잘 볼 수 있게 해줘
    • feedback : 피드백 환영

1) Sensitivity

: Consistency

  • Run time deadlock analysis works better if it is machine independent.
  • = 한 기계에서 deadlock걸릴거면, 다른 모든 기계에 대해서도 걸려야 한다.

2) Redundancy (#34)

: Make intention explicit

  • 반복적인 체크는 fault를 빨리, 그리고 효과적으로 찾을 수 있게 해준다.
  • V-model of SW V&V에서 많은 기법들이 계속 겹친다. → product의 성능이 보장되려면 그 전 에서 testing이 잘 되어야 하기 때문ex) validation of requirement specifications 가 >> validation of the final software 할 때 필요
  • ex) Testing and proof of properties
  • ex) Static type checking + dynamic type checking

3) Restriction

: Make the problem easier

  • unsolvable한 문제를 simpler(solvable)한 문제로 바꿔준다.
  • Weaker spec
  • ex) 포인터가 잘 사용되는지 확인하기 위해서 사용하기 전에 null로 초기화되어있는지를 확인한다. (simple)
  • Stronger spec
  • ex) 타입 에러를 확인하기 위해서 dynamically typed language가 아니라 statically typed language로 작성하게 한다.

4) Partition

: Divide and conquer 적당히 나누자! (top-down 등으로)

  • 코드, spec을 적절히 나눈다.
  • verification을 할 때 input을 특정 특징, 비슷한 데이터 등으로 나눈다.

5) visibility

: Make information accessible 필요한 정보에 접근 가능하게 하자!

  • X visibility = X가 얼마나 잘 되고 있는지 판단하기
  • Schedule visibility = 계획에 비해 앞서고 있는지 뒤쳐져 있는지 판단하기
  • Quality visibility = 지금 시점에 얼마나 완성했는지 판단하기 (시스템별로 중요한 quality들 존재, 정량적으로 숫자 표시)

6) Feedback

: development process 수정하기 (quality process)

  • 경험을 통해 개발 환경 발전시키기ex) Error Taxonomies → test selection 기준 만들기에 도움
  • ex) Design 가이드라인 → common pitfall 발견
  • ex) 과거 error를 통한 checklist

Summary

  • 6가지 main principle이 존재한다.
  • 이것들은 technique들의 장점 혹은 한계점을 이해하는데 사용된다.

'V&V' 카테고리의 다른 글

[SoftwareV&V] 06. Data Dependency & Data Flow Models  (0) 2022.02.17
[SoftwareV&V] 05. Finite Models  (0) 2022.02.17
[SoftwareV&V] 04. Software Process  (0) 2022.02.17
[SoftwareV&V] 02. Framework  (0) 2022.02.17
[SoftwareV&V] 01. 개요  (0) 2022.02.17
Comments