RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      자바코드의 변경량 분석 및 시각화 도구 개발 = Analysis and Visualization Techniques for Java Source Code Changes

      한글로보기

      https://www.riss.kr/link?id=T12342557

      • 0

        상세조회
      • 0

        다운로드
      서지정보 열기
      • 내보내기
      • 내책장담기
      • 공유하기
      • 오류접수

      부가정보

      다국어 초록 (Multilingual Abstract) kakao i 다국어 번역

      The importance of software maintenance is growing as the size and complexity of the system is increasing. During evolving software systems, it is important to quickly understand where changes of source codes have been made. However, it is not easy for recognizing the differences between two source codes.
      In this paper, we propose a change analysis techniques based on design model and provide a change visualization technique by using change quantification information. In order to check the structural changes in source codes, source codes are transformed to class diagrams by reverse engineering methods. On the class diagrams, the changes are analyzed and quantified by numbers. Based on the change quantification, the changes are visualized on the class diagram by color spectrum. By using visualization techniques, maintainers can easily recognize the code changes to reduce the cost and time consumed in maintenance.
      번역하기

      The importance of software maintenance is growing as the size and complexity of the system is increasing. During evolving software systems, it is important to quickly understand where changes of source codes have been made. However, it is not easy for...

      The importance of software maintenance is growing as the size and complexity of the system is increasing. During evolving software systems, it is important to quickly understand where changes of source codes have been made. However, it is not easy for recognizing the differences between two source codes.
      In this paper, we propose a change analysis techniques based on design model and provide a change visualization technique by using change quantification information. In order to check the structural changes in source codes, source codes are transformed to class diagrams by reverse engineering methods. On the class diagrams, the changes are analyzed and quantified by numbers. Based on the change quantification, the changes are visualized on the class diagram by color spectrum. By using visualization techniques, maintainers can easily recognize the code changes to reduce the cost and time consumed in maintenance.

      더보기

      국문 초록 (Abstract) kakao i 다국어 번역

      전자장비의 발전이 하드웨어적인 부분보다는 제어와 서비스에 중점을 두고 있는 만큼 소프트웨어의 중요도와 그 규모가 점점 커지고 있다. 특히 분야와 규모면에서 눈에 띄는 발전양상을 보이고 있다. 이렇듯 다양하고 큰 시스템들을 필요한 순간마다 새로 개발하기에는 그 비용과 시간이 많이 들기 때문에 시스템 개발 초기에 재사용성을 고려한 개발방법론이 적용되고 있고 유지보수의 입장에서 관리하기 쉽게 시스템을 개발할 필요성이 있다. 무엇보다도 개발비용보다 유지보수의 비용이 더 많이 든다는 입장에서 보면 시스템을 관리하고 유지보수 하는 것이 얼마나 힘이 드는 작업인지를 알 수 있다.
      시스템의 유지보수를 효율적으로 하기위해서 유지보수시 발생하는 변경된 부분을 사용자와 관리자 입장에서 얼마나 빨리 파악하고 접근할 수 있게 하느냐가 주요 관건이다. 특히, 소프트웨어를 유지보수하고 관리하는 과정에서 변경된 부분에 대한 구조적인 정보를 파악하고 관리하기란 쉽지 않다. 비록 변경 전후의 코드를 서로 비교해서 변경된 부분을 알려주는 상용화 툴이 있지만 이러한 시스템에서는 두 개의 코드를 시작에서 끝까지 순차적으로 라인과 라인을 비교해서 어떤 라인이 추가되고 삭제되었는지에 대한 정보만을 나타내준다. 프로그램 개발자가 아니라면 소스코드 레벨에서의 텍스트적인 변화가 시스템에 어떤 영향을 주는지 시스템에서 어떤 부분이 바뀌었는지에 대한 정보를 알 수 없다.
      지금까지 역공학을 이용한 프로그램의 분석은 대부분 개발과정에서의 오류를 찾기 위한 소스코드의 분석이 주를 이루었다. 그러나 소프트웨어의 비용적인 측면에서 유지보수에 더 많은 비용이 드는 것을 감안하면 개발과정의 오류검증만큼 유지보수과정에서의 변경사항에 대한 정보를 파악하고 관리할 필요가 있다. 변화된 정보의 의미를 파악해서 유지 보수에 드는 비용을 줄이고 효율적인 방법으로 관리하기 위해 산업 전반에 걸쳐 시각화를 많이 사용하고 있다. 시각화는 어떤 정보나 데이터를 인식하기 좋게 표현하는 방법으로 텍스트 형태의 정보를 그래프나 다이어그램으로 표현해서 직관적으로 이해하기 쉽게 도와주는 역할을 한다. 데이터 베이스관련 분야에서 데이터의 흐름과 분석을 효과적으로 하고자 시각화 기법을 사용하고 있고 소프트웨어를 개발하는 과정에서도 UML을 사용해 시각화함으로써 개발에서의 비용과 효율성을 높이고 있다.
      이 논문에서는 소프트웨어의 유지보수 입장에서 변경전후의 프로그램의 변화모습을 시각화 기법을 통해 표현함으로써 시스템이 구조적으로 어떻게 바뀌었는지 어떤 영향을 미치는지를 한눈에 파악할 수 있도록 새로운 모델을 제시하고자 한다. 위에서 언급한 코드레벨에서의 코드비교가 큰 의미를 갖지 못하기 때문에 이러한 단점을 보완하기 위해 이 논문은 변경된 소스코드를 역공학을 통해서 클래스 다이어그램으로 표현하고 시각화함으로써 좀 더 직관적이고 구조적인 관점에서 프로그램을 바라볼 수 있는 방법을 제시하고자 한다.
      프로그램을 유지 보수할 때 변경전과 변경후의 변화모습을 시각화하기 위해 이 논문이 제시하는 작업은 크게 세부분으로 나눌 수 있다. 첫번째, 역공학을 통해 소스로부터 모델 정보를 추출한다. 변경전후의 두 소스코드를 클래스 단위로 파싱해서 클래스 내의 속성과 메소드의 정보들을 얻는다. 이렇게 얻어진 정보들을 클래스 아웃라인이라 한다. 두 번째, 두 개의 모델 아웃라인 정보를 서로 비교하여 변화된 부분을 추출한다. 얻어진 모델 정보를 3장에서 제시한 규칙을 통해 서로 비교하고 변화된 부분을 테이블에 기록해 둔다. 마지막으로 GMF 다이어그램 편집기를 이용해서 위에서 얻어진 변화정보를 다이어그램에 시각화하기 위해 변화부분 테이블을 참고하고 특정 색상을 이용해 프로그램의 변화된 부분을 시각적으로 한눈에 파악할 수 있도록 한다.
      본 논문의 구성은 다음과 같다. 제 2 장에서는 소프트웨어 유지보수에 대한 대략적인 설명과 변경분석 및 시각화 도구 개발의 연구배경에 대해서 다룬다. 기존의 어떤 기술들이 있었고 어떠한 기반 기술들이 필요한지에 대해서 간략히 설명한다. 제 3 장에서는 역공학을 이용한 두 모델 사이의 변경된 부분을 분석하기 위한 모델생성에 필요한 여러 메트릭과 변경량 분석 알고리즘에 대해서 언급한다. 제 4 장에서는 모델 변경량 시각화 도구를 개발하기 위한 프레임워크에 대해서 설명한다. 제 5 장에서는 시각화 도구의 구현환경과 실제적인 변경량 분석을 통해 변경된 부분을 시각화해서 보여줄 것이다. 마지막으로 제 6 장에서 결론 및 향후 연구를 기술한다.
      번역하기

      전자장비의 발전이 하드웨어적인 부분보다는 제어와 서비스에 중점을 두고 있는 만큼 소프트웨어의 중요도와 그 규모가 점점 커지고 있다. 특히 분야와 규모면에서 눈에 띄는 발전양상을 ...

      전자장비의 발전이 하드웨어적인 부분보다는 제어와 서비스에 중점을 두고 있는 만큼 소프트웨어의 중요도와 그 규모가 점점 커지고 있다. 특히 분야와 규모면에서 눈에 띄는 발전양상을 보이고 있다. 이렇듯 다양하고 큰 시스템들을 필요한 순간마다 새로 개발하기에는 그 비용과 시간이 많이 들기 때문에 시스템 개발 초기에 재사용성을 고려한 개발방법론이 적용되고 있고 유지보수의 입장에서 관리하기 쉽게 시스템을 개발할 필요성이 있다. 무엇보다도 개발비용보다 유지보수의 비용이 더 많이 든다는 입장에서 보면 시스템을 관리하고 유지보수 하는 것이 얼마나 힘이 드는 작업인지를 알 수 있다.
      시스템의 유지보수를 효율적으로 하기위해서 유지보수시 발생하는 변경된 부분을 사용자와 관리자 입장에서 얼마나 빨리 파악하고 접근할 수 있게 하느냐가 주요 관건이다. 특히, 소프트웨어를 유지보수하고 관리하는 과정에서 변경된 부분에 대한 구조적인 정보를 파악하고 관리하기란 쉽지 않다. 비록 변경 전후의 코드를 서로 비교해서 변경된 부분을 알려주는 상용화 툴이 있지만 이러한 시스템에서는 두 개의 코드를 시작에서 끝까지 순차적으로 라인과 라인을 비교해서 어떤 라인이 추가되고 삭제되었는지에 대한 정보만을 나타내준다. 프로그램 개발자가 아니라면 소스코드 레벨에서의 텍스트적인 변화가 시스템에 어떤 영향을 주는지 시스템에서 어떤 부분이 바뀌었는지에 대한 정보를 알 수 없다.
      지금까지 역공학을 이용한 프로그램의 분석은 대부분 개발과정에서의 오류를 찾기 위한 소스코드의 분석이 주를 이루었다. 그러나 소프트웨어의 비용적인 측면에서 유지보수에 더 많은 비용이 드는 것을 감안하면 개발과정의 오류검증만큼 유지보수과정에서의 변경사항에 대한 정보를 파악하고 관리할 필요가 있다. 변화된 정보의 의미를 파악해서 유지 보수에 드는 비용을 줄이고 효율적인 방법으로 관리하기 위해 산업 전반에 걸쳐 시각화를 많이 사용하고 있다. 시각화는 어떤 정보나 데이터를 인식하기 좋게 표현하는 방법으로 텍스트 형태의 정보를 그래프나 다이어그램으로 표현해서 직관적으로 이해하기 쉽게 도와주는 역할을 한다. 데이터 베이스관련 분야에서 데이터의 흐름과 분석을 효과적으로 하고자 시각화 기법을 사용하고 있고 소프트웨어를 개발하는 과정에서도 UML을 사용해 시각화함으로써 개발에서의 비용과 효율성을 높이고 있다.
      이 논문에서는 소프트웨어의 유지보수 입장에서 변경전후의 프로그램의 변화모습을 시각화 기법을 통해 표현함으로써 시스템이 구조적으로 어떻게 바뀌었는지 어떤 영향을 미치는지를 한눈에 파악할 수 있도록 새로운 모델을 제시하고자 한다. 위에서 언급한 코드레벨에서의 코드비교가 큰 의미를 갖지 못하기 때문에 이러한 단점을 보완하기 위해 이 논문은 변경된 소스코드를 역공학을 통해서 클래스 다이어그램으로 표현하고 시각화함으로써 좀 더 직관적이고 구조적인 관점에서 프로그램을 바라볼 수 있는 방법을 제시하고자 한다.
      프로그램을 유지 보수할 때 변경전과 변경후의 변화모습을 시각화하기 위해 이 논문이 제시하는 작업은 크게 세부분으로 나눌 수 있다. 첫번째, 역공학을 통해 소스로부터 모델 정보를 추출한다. 변경전후의 두 소스코드를 클래스 단위로 파싱해서 클래스 내의 속성과 메소드의 정보들을 얻는다. 이렇게 얻어진 정보들을 클래스 아웃라인이라 한다. 두 번째, 두 개의 모델 아웃라인 정보를 서로 비교하여 변화된 부분을 추출한다. 얻어진 모델 정보를 3장에서 제시한 규칙을 통해 서로 비교하고 변화된 부분을 테이블에 기록해 둔다. 마지막으로 GMF 다이어그램 편집기를 이용해서 위에서 얻어진 변화정보를 다이어그램에 시각화하기 위해 변화부분 테이블을 참고하고 특정 색상을 이용해 프로그램의 변화된 부분을 시각적으로 한눈에 파악할 수 있도록 한다.
      본 논문의 구성은 다음과 같다. 제 2 장에서는 소프트웨어 유지보수에 대한 대략적인 설명과 변경분석 및 시각화 도구 개발의 연구배경에 대해서 다룬다. 기존의 어떤 기술들이 있었고 어떠한 기반 기술들이 필요한지에 대해서 간략히 설명한다. 제 3 장에서는 역공학을 이용한 두 모델 사이의 변경된 부분을 분석하기 위한 모델생성에 필요한 여러 메트릭과 변경량 분석 알고리즘에 대해서 언급한다. 제 4 장에서는 모델 변경량 시각화 도구를 개발하기 위한 프레임워크에 대해서 설명한다. 제 5 장에서는 시각화 도구의 구현환경과 실제적인 변경량 분석을 통해 변경된 부분을 시각화해서 보여줄 것이다. 마지막으로 제 6 장에서 결론 및 향후 연구를 기술한다.

      더보기

      목차 (Table of Contents)

      • 제 1 장 서론 . 1
      • 제 2 장 연구배경 . 4
      • 2.1 소프트웨어 유지보수 4
      • 2.1.1 소프트웨어 유지보수의 정의 4
      • 2.1.2 소프트웨어 유지보수의 이슈 4
      • 제 1 장 서론 . 1
      • 제 2 장 연구배경 . 4
      • 2.1 소프트웨어 유지보수 4
      • 2.1.1 소프트웨어 유지보수의 정의 4
      • 2.1.2 소프트웨어 유지보수의 이슈 4
      • 2.1.3 소프트웨어 유지보수의 과정 6
      • 2.1.4 소프트웨어 유지보수 기법 . 8
      • 2.2 소프트웨어 유지보수의 기존 연구 및 문제점 8
      • 2.3 시각화를 이용한 유지보수 . 10
      • 제 3 장 역공학 모델을 이용한 변경 분석 . 13
      • 3.1 변경분석의 기존연구 및 한계 14
      • 3.2 역공학 기반 모델 생성 15
      • 3.3 Levenshtein 거리를 이용한 변경분석 알고리즘 . 18
      • 3.4 모델 변경량의 정량화 . 23
      • 제 4 장 모델 변경량의 시각화 도구 설계 . 28
      • 4.1 GMF 다이어그램 편집기 . 28
      • 4.2 편집기로 표현하기 위한 포맷변경 . 31
      • 4.3 시각화 방법 . 32
      • 제 5 장 시각화 도구 구현 및 테스트 . 33
      • 5.1 구현환경 33
      • 5.2 자바로 구현된 프로그램 예제의 변화량 분석 및 시각화 33
      • 제 6 장 결론 및 향후 연구 . 37
      • 참고문헌 38
      더보기

      분석정보

      View

      상세정보조회

      0

      Usage

      원문다운로드

      0

      대출신청

      0

      복사신청

      0

      EDDS신청

      0

      동일 주제 내 활용도 TOP

      더보기

      주제

      연도별 연구동향

      연도별 활용동향

      연관논문

      연구자 네트워크맵

      공동연구자 (7)

      유사연구자 (20) 활용도상위20명

      이 자료와 함께 이용한 RISS 자료

      나만을 위한 추천자료

      해외이동버튼