An Empirical Study of Software Reuse with Special Attention to Ada 논문 리뷰
An Empirical Study of Software Reuse with Special Attention to Ada 논문 리뷰
개요
숭실대학교 이남용 교수님의 “An Empirical Study of Software Reuse with Special Attention to Ada” 논문은 Ada에 집중한 소프트웨어 재사용의 실증적 연구 논문입니다. 논문의 전체적인 내용과 Ada는 무엇인지 설명하고 리뷰를 진행합니다.
1. 머리말
확률과 통계 과목 중간시험으로 “An Empirical Study of Software Reuse with Special Attention to Ada” 논문을 읽고 이해한 것을 바탕으로 에세이를 작성합니다. 이남용 교수님의 “An Empirical Study of Software Reuse with Special Attention to Ada” 논문은 Ada에 집중한 소프트웨어 재사용의 실증적 연구 논문입니다. 따라서 에세이를 시작하기 전 논문의 전체적인 내용과 Ada는 무엇인지 설명하도록 하겠습니다.
1-1. Ada
이 논문은 소프트웨어 재사용 기술을 조사하고 검토하여 실제로 조직이 재사용 기술을 어떻게 활용하는지 분석하고 소프트웨어 재사용에 영향을 미치는 요인을 평가합니다. 이때, Ada 기술을 이용하는 조직의 재사용성을 조사하여 재사용성의 효과성과 수준을 측정하는 기술을 개선합니다. Ada는 1970년대에 소프트웨어 비용을 줄이기 위해 설계되어 미국 국방부 표준으로 선정되었습니다. Ada는 상대적으로 빠르게 구현 할 수 있고 재사용을 촉진하는 언어입니다. 이러한 언어는 객체지향 설계 방법론과 함께 사용 가능하며, 이식성이 높아 재사용성을 검증하는 데에 좋은 도구입니다.
2. Explaining Article
2-1. How to collect the random sample data
무작위 표본 데이터를 수집하는 방법을 설명합니다. 단순 무작위 표본 추출 기법은 주요 확률 표본 추출 기법 중 하나로 편향이 적고 일반화 가능성이 높다는 것이 특징입니다. 단순 무작위 표본은 모집단의 무작위하게 선택된 부분집합입니다. 이 표본 추출 방법에서 모집단의 각 성분은 선택될 확률이 같습니다. 이 방법은 모든 확률 표본 추출 방법 중 가장 간단한 방법입니다. 이 방법은 오직 단일 무작위 선택을 포함하고 모집단에 대한 지식이 거의 필요하지 않기 때문입니다.
이 단순 무작위 표본 추출 방법은 모집단에 대한 통계적 추론을 만드는 데 사용됩니다. 이는 내부 유효성을 보장하는 데 도움이 됩니다. 무작위화는 잠재적으로 헷갈리게 할 수 있는 변수의 영향을 줄일 수 있는 가장 좋은 방법이기도 합니다. 또한 충분히 큰 표본은 외부 타당성이 높습니다. 하지만 간단한 무작위 표본 추출은 실제로 구현하기 어렵습니다. 이 방법을 사용하기 위해서는 표본에 대한 전체 정보가 있어야 합니다. 또, 모집단이 선택 되면 접근 할 수 있어야 하며, 필요한 표본 크기에서 데이터를 수집할 시간과 리소스가 있어야 합니다.
이러한 조건 아래에서 우리는 Random Sample data, 무작위 표본 데이터를 수집할 수 있습니다.
첫번째 단계로는, 모집단을 정의하는 것입니다. 연구할 모집단을 결정하는 것으로 무작위 표본 추출을 시작합니다. 표본을 위해 선택된 모든 데이터를 수집할 수 있도록 모집단의 개별 구성원에 접근 할 수 있는지 확인합니다.
두번째 단계는 표본 크기 결정입니다. 큰 표본은 높은 통계적 확실성을 제공하지만
비용이 높고 많은 작업이 필요합니다. 여러가지 방법 중 하나는 신뢰 구간 및 신뢰 수준, 표준 편차로 계산하는 것입니다.
세번째 단계는 표본의 무작위 선택입니다. 이 방법으로는 추첨과 랜덤의 두가지 방법이 있습니다. 추첨 방법은 동일 작업을 시뮬레이션하는 프로그램을 사용하여 무작위로 표본을 선택하는 것입니다. 랜덤 방법은 숫자를 할당하고 그 다음 난수 생성기나 표를 이용하여 모집단의 부분 집합을 무작위로 선택합니다.
마지막으로 데이터를 표본으로부터 수집합니다. 이때, 의 유효성을 보장하려면 선택된 모든 정보가 실제로 연구에서 사용되고 있는지 확인해야 합니다.
#### 2-2. How to determine the random sample size
단순 무작위 표본에서 표본의 크기를 정하는 것은 매우 중요합니다. 표본 데이터를 수집하는 방법에서 다루었듯이 표본의 크기는 비용과 작업량에 큰 영향을 주기 때문에 용도에 맞게 크기를 결정하는 것이 중요합니다.
표본 크기는 조사 또는 실험을 위해 선택된 모집단의 일부입니다. 통계에서 표본 크기를 찾는 방법은 계산기 혹은 공식을 이용하는 것입니다. 우선 모집단이 적은 경우에 모집단 조사를 실행합니다. 첫번째 방법은 유사한 연구의 표본 크기를 사용하는 방법이 있습니다. 두번째 방법은 표를 사용하는 것입니다. 일반적인 주제라면 이미 연구된 테이블이 있을 것입니다. 세번째 방법은 표본 크기 계산기입니다. 복잡하고 전문적인 시중의 계산기를 활용 가능합니다. 마지막으로 수식을 이용하는 방법입니다. 모집단에 대해 알고 있는 변수에 따라 다양한 공식을 사용할 수 있습니다. 기본적으로 표준 편차를 알고 있다면 Cochran의 표본 크기 공식을 활용할 수 있습니다.
Cochran의 표본 크기 공식을 사용하면 정밀도 수준, 신뢰 수준 및 모집단에 존재하는 속성의 비율을 고려하여 이상적인 표본 크기를 계산할 수 있습니다.
2-3. Research instrument, and measurement scale
이 연구의 방법으로는 메일 조사를 선택했습니다. 메일 조사는 이 연구의 인구가 지리적으로 분산되었을 때 저비용인 방법이기 때문입니다. 이 연구의 표본들은 재사용 및 Ada 기술에 대한 경험을 갖고 있습니다. 이것들은 Ada 기술과 재사용에 익숙한 ACM Special Interest Group on Ada(SIGADA) 멤버입니다. Ada 메일링 리스트에서 AdaIC Electronic Bulletin Board, AdaIC Newsletters and the ACM Ada Letters 500명이 표본으로 선택되었습니다. 이에 대한 조사로 본 연구의 목적을 설명하고 참여를 요청하는 자기소개서와 함께 주요 용어의 정의가 포함된 1페이지 분량의 설문지가 개발되었습니다. 문지는 조사 질문과 관련된 37개의 질문으로 구성되었습니다. 이 질문들 중, 19개의 질문만이 이 연구에서 사용되었습니다.
3. Discussing the statistical techniques
3번에서는 이 연구에 사용된 통계적 기술들을 이야기합니다.
#### 3-1. Homogeneity test
본 연구에서 사용된 통계적 기술로 균질성 테스트가 있습니다. 본 연구에서는 다양한 공간을 사용할 수 있지만 한 페이지의 설문 조사의 한계 때문에 소프트웨어 크기만을 고려했습니다. 비응답 편향은 설문지의 소프트웨어 측정 기준인 조직에서 사용하는 소프트웨어 크기를 사용하여 조사되었습니다. 대표적으로 Chisquare 적합도 검정이 있습니다. 이러한 소프트웨어의 두 가지 분포가 무응답 편향 테스트를 위해 사용되었습니다. 첫 번째는 응답자들이 고용된 조직에서 소프트웨어 크기의 배포입니다. 다른 하나는 Ada의 Ada Usage Database가 관리하는 500개 조직의 소프트웨어 크기입니다. 모집단과 표본 피실험자를 비교하기 위해 카이제곱 적합도 검정을 실행합니다. 계산된 카이제곱 값이 11.90이고 카이제곱 테이블 값보다 작으며 D = 0.05에서 6의 자유도가 있으므로, 저자는 표본과 모집단 분포가 동일하다고 결론을 내렸습니다. 즉, 소프트웨어 크기에 따라 표본에 명백한 비응답 편향이 없습니다. 따라서 응답자 데이터에 기초한 본 연구의 통계적 추론이 뒷받침 됩니다.
3-2. Reliability test
데이터 분석에는 4가지 단계가 있습니다. 첫번째 단계는 응답자 중 한명의 특성에 기초한 비응답 편향 테스트를 사용하여 데이터의 대표성을 확인하는 것입니다. 두번째 단계가 연구 기구의 신뢰성과 유효성을 검토하는 것입니다.
신뢰성은 광범위하게 측정값에 오류가 없을 정도로 정의될 수 있기 때문에 일관된 결과를 얻을 수 있습니다. Cronbach의 알파 계수의 Thumb 기준은 0.70 이상입니다. Ada 경험과 Ada 툴의 성숙도는 신뢰성이 상대적으로 높은데, 본 연구에서 재사용 경험, 저장소의 성숙도, 전무의 관심사, 재사용 프로그램의 수준, 재사용 엔지니어 수의 변수 그룹에 대한 알파 값인 0.84는 연구의 측정에 높은 신뢰성을 보여줍니다. 또한 미국 DoD 표준의 영향, ANSI 표준의 영향, ISO 표준의 영향, Ada 소프트웨어 구성 요소의 증가하는 수요의 영향 등의 변수 그룹에 대한 알파 값인 0.91도 이러한 측정에서 높은 신뢰성을 나타냅니다. 연구에서 모든 알파 값이 0.70 보다 크기 때문에 본 연구의 측정은 어느 정도 신뢰 할 수 있다고 결론지을 수 있습니다. 그리고 이어서 특성의 유효성 검사를 진행합니다.
3-3. Validity test
신뢰성 검사에 이어 특성 유효성 검사를 위해 주성분 분석을 수행합니다. 유효성은 개념, 결로 SEHS 측정이 근거가 있고 실제와 정확히 일치할 가능성을 검사하는 것입니다. 본 연구에서는 고유값과 scree tail 검사를 이용하여 여러 요인을 추출합니다.
스크리테일 테스트에서는 추출 순서에서 인자 수에 대한 잠재 루트를 플로팅하여 도출하고, 결과 곡선의 모양을 사용하여 곡선이 처음 직선화되기 시작하는 지점을 추출할 최대 요인의 수를 나타내는 것으로 간주합니다. 일반적으로 요인의 고유값이 1.0보다 크면 추가 분석을 위해 요인을 유지해야 합니다. 이 연구에서는 7개 요인의 고유값이 1.0보다 큽니다. 따라서 이 연구의 요인 수는 7개로 제한되었습니다. 따라서 변수 수를 줄이기 위해 Varimax method를 사용했습니다. 요인 하중은 원래 변수와 요인 간의 상관 관계이며 특정 요인의 특성을 이해하는 열쇠입니다. 요인 하중의 제곱은 인자에 의해 설명되는 원래 변수의 분산 백분율을 나타냅니다. 요인의 유의성에 대한 엄지의 법칙은 0.5보다 크거나 같습니다. 변수는 유의한 교차 로딩을 나타냅니다. 즉, 요인 내 두 개 이상의 변수가 0.3보다 큽니다. 그러나 이러한 각 변수는 요인 간의 교차 적재에서 더 큰 차이를 보입니다. 따라서 이 변수들은 높은 판별 유효성을 가지고 있다는 결론이 나옵니다.
*는 정밀도 수준, p는 모집단의 추정 비율, q = p-1 입니다. *
3-4. Descriptive statistics
본 연구에서 Descriptive statistics 기술 통계량은 응답자들이 재사용 속도의 표준화 정책을 어떻게 인식하고 있는지 이해하기 위해 사용되었습니다.
기술 통계량은 주어진 데이터 세트를 요약하는 간단한 기술 계수로 전체 또는 모집단 표본 일 수 있습니다. 기술 통계량은 중심 경향 측정과 변동성 측정으로 나뉩니다. 중심 경향 측정에는 평균, 중앙값, 최빈값이 포함되고, 변동성 측정 값에는 표준편차, 분산 등이 포함됩니다. 모든 기술 통계량은 중심 경향 측정 값 또는 변동성 측정 값입니다. 본 연구에서는 분산, 표준편차에 중심을 둔 변동성 측정 값을 활용했습니다. 변동성 측정 값은 데이터 집합에 대한 분포를 분석하는데 도움이 됩니다. 이는 데이터 세트의 모양과 분포를 설명하기 때문에 세트 내에서 데이터가 분산되는 방식을 설명할 수 있습니다.
3-5. Factor Analysis
본 연구에서는 가설을 테스트 하기 위해 인자 분석(Factor Analysis)과 회귀 분석을 활용합니다.
우선 인자 분석은 잠재적으로 적은 숫자의 관찰되지 않은 변수인 인자들로 관찰된 변수들 사이에서 분산을 설명하기 위한 통계학적 방법입니다. 이 기술의 목적은 많은 수의 변수들 간의 상호 관계를 분석하고 이러한 변수들을 공통의 기본 치수 또는 인자의 관점에서 설명하는 것입니다.
인자 분석에서 데이터 세트의 인자를 추출하는 데에는 여러가지 방법이 있습니다. 첫째, 주성분 분석입니다. 가장 일반적인 방법으로 최대 분산을 추출하여 첫째 요인에 넣고 이로인해 설명된 분산을 제거한 후 다음 과정을 진행합니다. 두번째, 공통 인자 분석입니다. 공통 분산을 추출하여 인자에 넣는 방법입니다. 세번째, 이미지 인자화입니다. 행렬을 기반으로 하는 인자를 예측하는데 사용됩니다. 이외에 여러가지 인자 분석 방법이 존재합니다.
3-6. Surrogate variables
본 연구에서는 주성분 분석을 기반으로 7개의 대리 변수가 생성되었습니다. 이 변수들은 다중 회귀 분석에서 사용됩니다.
대리 변수, Surrogate variables는 측정하기 힘든 변수들 대신 사용되는 측정할 수 있는 변수 입니다. 본 연구에서는 각 주제에 따른 독립 변수로 처리되는 7개의 대리 변수를 활용하여 회귀 방정식의 적합도를 측정합니다. 유의성 검정을 활용해 확인한 결과 대리 변수 7개 중 하나 이상이 종속 변수의 변동을 예측하기 유리함을 알 수 있습니다.
3-7. Multiple regression analysis
다중 회귀분석은 회귀분석의 종류 중 하나입니다. 다중 회귀분석은 단순 회귀분석의 단점을 보완한 방법입니다. 먼저 단순 회귀분석은 원인이 되는 독립 변수와 결과가 되는 종속 변수가 존재하는데 독립변수가 변함에 따라 종속변수가 얼마나 변하는지 보여줍니다. 그러나 이는 제 3변수의 영향을 통제하지 못하고 이 단점을 다중 회귀분석으로 보완합니다.
다중 회귀분석은 단순 회귀분석에 독립변수들이 추가된 것입니다. 두 개 이상의 독립변수를 갖고 종속변수를 설명하거나 예측할 때 사용합니다. 하지만 독립 변수가 추가될수록 분석 그래프의 차원이 증가하여 4차원을 넘어서면 이해가 힘들어지고 계산이 복잡해집니다.
즉, 다중 회귀분석은 다중 회귀식, Y=β0+β1X1+β2X2+ … +βkXk(X: 독립변수, Y: 종속변수, β: 회귀계수, β0: Y절편, β1~βk: 독립변수의 기울기)의 모형의 유의성을 확인하는 것입니다. 다중 회귀분석은 변수의 개수가 같아도 포함된 변수에 따라 모형은 다르게 나타날 수 있으며, 여러 개의 변수 중에서 통계적으로 유의한 것만 선택할 수 있습니다.