1 |
1
소프트웨어의 소스코드에서 클러스터링에 필요한 데이터를 추출하는 데이터 추출부;추출된 데이터를 클러스터링 알고리즘을 통하여 베이스 클러스터링 결과를 생산하는 베이스 클러스터링 결과 생산부;여러 개의 베이스 클러스터링 결과가 준비되면 클러스터 앙상블 알고리즘을 적용하여 복원된 모듈 뷰를 얻는 복원 모듈 뷰 획득부;상기 복원 모듈 뷰 획득부에서 도출된 모듈 뷰를 평가하는 복원 아키텍처 평가부;를 포함하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 프레임워크 장치
|
2 |
2
제 1 항에 있어서, 상기 데이터 추출부는,복원하고자 하는 아키텍처 모듈 뷰에서 모듈이 의미하는 소스코드 단위를 정의하는 수단과,아키텍처 복원의 목적과 대상 소프트웨어 시스템의 특성에 따라 엔티티를 선택하는 수단과,엔티티를 선정한 후에는 클러스터링에서 사용될 엔티티들의 특성에 대한 정의를 하는 수단과,어떤 엔티티들이 같은 그룹에 포함되어야 하는지에 관한 기준을 설정하는 수단을 포함하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 프레임워크 장치
|
3 |
3
제 1 항에 있어서, 상기 베이스 클러스터링 결과 생산부는,Bunch가 제공하는 알고리즘 중 언덕 오르기 알고리즘, 이미 구성된 두 클러스터 사이의 유사도를 계산하는 WCA(Weighted Combined Algorithm), 클러스터 개수를 지정해 주는 파라미터K를 사용자 입력으로 받아 K개의 클러스터를 가지는 클러스터링 결과를 생성하는 K-means 알고리즘, Blondel 커뮤니티 검출 알고리즘을 선택적으로 사용하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 프레임워크 장치
|
4 |
4
제 1 항에 있어서, 상기 복원 모듈 뷰 획득부는,동시 발생 패턴(co-occurrence Pattern) 기반의 클러스터 앙상블 알고리즘을 사용하고, 모두 최종 클러스터링 결과의 클러스터 개수를 사용자 입력파라미터로 요구하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 프레임워크 장치
|
5 |
5
제 1 항 또는 제 4 항에 있어서, 상기 복원 모듈 뷰 획득부는 클러스터 앙상블 알고리즘으로,임의의 서로 다른 두 엔티티가 여러 개의 베이스 클러스터링 결과에서 같은 클러스터에 포함된 횟수를 두 엔티티 사이의 유사도로 사용하는 CSPA(Cluster-based Similarity Partitioning Algorithm),여러 개의 베이스 클러스터링 결과들을 이용해 하이퍼 그래프를 구성하는 HGPA(HyperGraph-Partitioning Algorithm),클러스터링의 대상이 베이스 클러스터링 결과들의 클러스터라는 특징을 갖는 MCLA(Meta-Clustering Algorithm),이분 그래프 모델링을 사용해서 클러스터 앙상블을 수행하는 HBGF(Hybrid Bipartite Graph Formulation), 베이스 클러스터링 결과들에서 각 엔티티 쌍들이 얼마나 자주 같은 클러스터에 포함되는지에 대한 횟수를 계산하여 엔티티 사이의 유사도를 정의하는 EA(Evidence Accumulation)알고리즘을 사용하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 프레임워크 장치
|
6 |
6
클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원을 위하여,소프트웨어의 소스코드에서 클러스터링에 필요한 데이터를 추출하는 데이터 추출 단계;추출된 데이터를 클러스터링 알고리즘을 통하여 베이스 클러스터링 결과를 생산하는 베이스 클러스터링 결과 생산 단계;여러 개의 베이스 클러스터링 결과가 준비되면 클러스터 앙상블 알고리즘을 적용하여 복원된 모듈 뷰를 얻는 복원 모듈 뷰 획득 단계;복원 모듈 뷰 획득 단계에서 도출된 모듈 뷰를 평가하는 복원 아키텍처 평가 단계;를 포함하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|
7 |
7
제 6 항에 있어서, 데이터 추출 단계는,복원하고자 하는 아키텍처 모듈 뷰에서 모듈이 의미하는 소스코드 단위를 정의하는 단계와,아키텍처 복원의 목적과 대상 소프트웨어 시스템의 특성에 따라 엔티티를 선택하는 단계와,엔티티를 선정한 후에는 클러스터링에서 사용될 엔티티들의 특성에 대한 정의를 하는 단계와,어떤 엔티티들이 같은 그룹에 포함되어야 하는지에 관한 기준을 설정하는 단계를 포함하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|
8 |
8
제 6 항에 있어서, 베이스 클러스터링 결과 생산 단계는,Bunch가 제공하는 알고리즘 중 언덕 오르기 알고리즘, 이미 구성된 두 클러스터 사이의 유사도를 계산하는 WCA(Weighted Combined Algorithm), 클러스터 개수를 지정해 주는 파라미터K를 사용자 입력으로 받아 K개의 클러스터를 가지는 클러스터링 결과를 생성하는 K-means 알고리즘, Blondel 커뮤니티 검출 알고리즘을 선택적으로 사용하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|
9 |
9
제 6 항에 있어서, 복원 모듈 뷰 획득 단계에서,임의의 서로 다른 두 엔티티가 여러 개의 베이스 클러스터링 결과에서 같은 클러스터에 포함된 횟수를 두 엔티티 사이의 유사도로 사용하는 CSPA(Cluster-based Similarity Partitioning Algorithm),여러 개의 베이스 클러스터링 결과들을 이용해 하이퍼 그래프를 구성하는 HGPA(HyperGraph-Partitioning Algorithm),클러스터링의 대상이 베이스 클러스터링 결과들의 클러스터라는 특징을 갖는 MCLA(Meta-Clustering Algorithm),이분 그래프 모델링을 사용해서 클러스터 앙상블을 수행하는 HBGF(Hybrid Bipartite Graph Formulation), 베이스 클러스터링 결과들에서 각 엔티티 쌍들이 얼마나 자주 같은 클러스터에 포함되는지에 대한 횟수를 계산하여 엔티티 사이의 유사도를 정의하는 EA(Evidence Accumulation)알고리즘을 사용하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|
10 |
10
제 6 항에 있어서, 베이스 클러스터링 결과 생산 단계에서,입력으로 복원하고자 하는 소프트웨어의 소스코드 파일들 사이의 구조적 의존관계가 사용되고,사용자에게 제공되는 파라미터는 생성되는 베이스 클러스터링 결과의 개수와 해당 결과들 사이의 평균 짝 MoJoFM 값(average pairwise MoJoFM value)의 한계(threshold) 값인 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|
11 |
11
제 6 항에 있어서, 베이스 클러스터링 결과 생산 단계에서,BUNCH와 KMEANS 알고리즘을 사용해서 각각 한 개씩 클러스터링 결과를 생성하여 BS를 초기화하는 단계와,사용자가 베이스 클러스터링 개수 값을 입력하는 단계와,입력한 클러스터링 개수 값보다 크면 BUNCH와 KMEANS 알고리즘을 사용해 다시 새로운 클러스터링 결과를 각각 생성하는 단계와,클러스터링 결과 중에 BS의 평균 짝 MoJoFM 값을 더 작게 만들 수 있는 하나를 최종적으로 BS에 추가하는 단계와,상기 단계들을 사용자가 입력한 개수만큼의 베이스 클러스터링 결과를 생성할 때까지 반복하는 단계와,베이스 클러스터링 집합에 속한 원소들의 평균 짝 유사도(Pariwise Similarity) 값에 대한 제한을 두고, 베이스 클러스터링 결과를 생산하는 단계를 수행하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|
12 |
12
제 11 항에 있어서, BUNCH와 KMEANS를 통해 생성된 클러스터링 결과가 기존 집합에 추가되었다고 가정했을 때, 집합의 평균 짝 유사도 값이 사용자 파라미터로 입력된 특정 한계 값이상으로 커지게 되면 결과의 다양성 보장을 위해 해당 클러스터링 결과를 기각하는 것을 특징으로 하는 클러스터 앙상블을 통한 소프트웨어 아키텍처 모듈 뷰 복원 방법
|