A small quality check can combine measurements into a weighted score and classify the result.

Program

Play the program to choose a defect count and see the resulting score and label.

defect_count
quality_score_case.f90
Replay: real traced execution (multi-file project)
program quality_score_case_demo
    implicit none
    integer :: defect_count
    integer :: coverage_score
    integer :: score
    character(len=8) :: label

    defect_count = 2
    coverage_score = 90
    score = coverage_score - defect_count * 12
    if (score >= 80) then
        label = 'ship'
    else
        label = 'review'
    end if
    print '(I0, 1X, A)', score, trim(label)
end program quality_score_case_demo
program quality_score_case_demo
    implicit none
    integer :: defect_count
    integer :: coverage_score
    integer :: score
    character(len=8) :: label

    defect_count = 0
    coverage_score = 90
    score = coverage_score - defect_count * 12
    if (score >= 80) then
        label = 'ship'
    else
        label = 'review'
    end if
    print '(I0, 1X, A)', score, trim(label)
end program quality_score_case_demo
program quality_score_case_demo
    implicit none
    integer :: defect_count
    integer :: coverage_score
    integer :: score
    character(len=8) :: label

    defect_count = 5
    coverage_score = 90
    score = coverage_score - defect_count * 12
    if (score >= 80) then
        label = 'ship'
    else
        label = 'review'
    end if
    print '(I0, 1X, A)', score, trim(label)
end program quality_score_case_demo
  1. defect_count ← 2

    8defect_count = 29coverage_score = 90
    values this step2defect_count
  2. coverage_score ← 90

    8defect_count = 29coverage_score = 9010score = coverage_score - defect_count * 12
    values this step90coverage_score
  3. score ← 66

    9coverage_score = 9010score = coverage_score - defect_count * 1211if (score >= 80) then
    values this step66score90coverage_score2defect_count
  4. if (score >= 80) then

    10score = coverage_score - defect_count * 1211if (score >= 80) then12    label = 'ship'
    values this step.false.score >= 80
  5. label ← review

    13else14    label = 'review'15end if
    values this stepreviewlabel
  6. print '(I0, 1X, A)', score, trim(label)

    15    end if16    print '(I0, 1X, A)', score, trim(label)17end program quality_score_case_demo
    output66 review
    values this step66scorereviewlabel
  1. defect_count ← 0

    8defect_count = 09coverage_score = 90
    values this step0defect_count
  2. coverage_score ← 90

    8defect_count = 09coverage_score = 9010score = coverage_score - defect_count * 12
    values this step90coverage_score
  3. score ← 90

    9coverage_score = 9010score = coverage_score - defect_count * 1211if (score >= 80) then
    values this step90score90coverage_score0defect_count
  4. if (score >= 80) then

    10score = coverage_score - defect_count * 1211if (score >= 80) then12    label = 'ship'
    values this step.true.score >= 80
  5. label ← ship

    11if (score >= 80) then12    label = 'ship'13else
    values this stepshiplabel
  6. print '(I0, 1X, A)', score, trim(label)

    15    end if16    print '(I0, 1X, A)', score, trim(label)17end program quality_score_case_demo
    output90 ship
    values this step90scoreshiplabel
  1. defect_count ← 5

    8defect_count = 59coverage_score = 90
    values this step5defect_count
  2. coverage_score ← 90

    8defect_count = 59coverage_score = 9010score = coverage_score - defect_count * 12
    values this step90coverage_score
  3. score ← 30

    9coverage_score = 9010score = coverage_score - defect_count * 1211if (score >= 80) then
    values this step30score90coverage_score5defect_count
  4. if (score >= 80) then

    10score = coverage_score - defect_count * 1211if (score >= 80) then12    label = 'ship'
    values this step.false.score >= 80
  5. label ← review

    13else14    label = 'review'15end if
    values this stepreviewlabel
  6. print '(I0, 1X, A)', score, trim(label)

    15    end if16    print '(I0, 1X, A)', score, trim(label)17end program quality_score_case_demo
    output30 review
    values this step30scorereviewlabel
weighted score The score combines coverage with a defect penalty.
decision threshold `score >= 80` chooses the shipping label.
case study The example composes arithmetic, branching, and formatted output.