• Title/Summary/Keyword: 소프트웨어 역공학

Search Result 86, Processing Time 0.041 seconds

A implementation and evaluation of Rule-Based Reverse-Engineering Tool (규칙기반 역공학 도구의 구현 및 평가)

  • Bae Jin Young
    • Journal of the Korea Society of Computer and Information
    • /
    • v.9 no.3
    • /
    • pp.135-141
    • /
    • 2004
  • With the diversified and enlarged softwares, the issue of software maintenance became more complex and difficult and consequently, the cost of software maintenance took up the highest portion in the software life cycle. We design Reverse Engineering Tool for software restructuring environment to object-oriented system. We design Rule - Based Reverse - Engineering using Class Information. We allow the maintainer to use interactive query by using Prolog language. We use similarity formula, which is based on relationship between variables and functions, in class extraction and restructuring method in order to extract most appropriate class. The visibility of the extracted class can be identified automatically. Also, we allow the maintainer to use query by using logical language. So We can help the practical maintenance. Therefore, The purpose of this paper is to suggest reverse engineering tool and evaluation reverse engineering tool.

  • PDF

A Design and Implementation of Documentation System for Adams-H (Adams-H를 위한 문서화 시스템 설계 및 구현)

  • Lee, Seung-Hun;Cho, Hyun-Hoon;Rhew, Sung-Yul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.04a
    • /
    • pp.427-430
    • /
    • 2002
  • 기존의 2 Tier나 3 Tier형태의 소프트웨어 개발 시 생산성과 효율성을 향상시키기 위하여 RAD Tool을 많이 사용하였다. 이러한 RAD Tool의 사용은 생산성과 효율성을 향상 시켰지만 소프트웨어의 유지보수나 성능 개선을 위한 작업 시 코드의 중복이나 복잡성 등의 증가 등 많은 문제점들을 발생되었으며, 이는 소프트웨어의 유지보수에 많은 문제점을 가져왔다. 이러한 문제점들은 역공학 기법을 통해서 해결이 가능하다. 역공학 기법을 이용하여 소프트웨어의 구조를 이해할 수 있는 정보를 추출하고 추출된 정보를 체계적으로 관리할 수 있는 시스템을 구축하여 문서화하는 것이다. 이에 본 논문에서는 소프트웨어의 소스코드를 분석하여 시스템 변경 등의 작업 시 문서화를 지원하여 생산성과 효율성을 증가시킬 수 있는 시스템을 설계 구현하였다.

  • PDF

Implementation of Reverse Engineering Analysis (역공학 분석 시스템 구현)

  • Park, Hyeong-Cheol;Gan, Jeon-Hyeon;Jang, Tae-Jin;Lee, Ju-Yeon;Kwon, Soon-Kak;Lee, Jung-Hwa
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2012.05a
    • /
    • pp.509-511
    • /
    • 2012
  • 역공학(Reverse Engineering)은 이미 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 것을 의미한다. 본 논문은 역공학 개념을 이용하여 하나의 파일에서 뽑을 수 있는 데이터 즉, 클래스나 변수, 메소드, 연관 관계 등을 추출하여 xml문서에 저장 후 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출하는 시스템을 구현한다. 이를 바탕으로 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출함으로써 검출 및 유지 보수가 용이하며, 클래스 다이어그램이 좀 더 자세하게 그려줄 수 있다.

  • PDF

XML Reverse Engineering System (XML 역공학 시스템)

  • Park, Hyungchul;Gan, Jeonhyeon;Jang, Taejin;Lee, Juyeon;Lee, Taehyuk;Kwon, Soonkak
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2012.10a
    • /
    • pp.692-695
    • /
    • 2012
  • 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 역공학(Reverse Engineering)은 유지 보수 및 재사용 측면에서 필요하다. 본 논문은 역공학 개념을 이용하여 하나의 소스 파일에서 클래스, 클래스내의 멤버 변수 및 메소드, 서로 다른 클래스 사이의 연관 관계 등을 추출하여 xml 문서로 표시하여 저장하는 시스템을 구현한다. 또한, 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 분석하며, 분석된 결과를 GUI 형태로 표시시켜 줌으로써 사용자의 편리성을 제공해준다.

  • PDF

A Software Complexity Measurement Technique for Object-Oriented Reverse Engineering (객체지향 역공학을 위한 소프트웨어 복잡도 측정 기법)

  • Kim Jongwan;Hwang Chong-Sun
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.9
    • /
    • pp.847-852
    • /
    • 2005
  • Over the last decade, numerous complexity measurement techniques for Object-Oriented (OO) software system have been proposed for managing the effects of OO codes. These techniques may be based on source code analysis such as WMC (Weighted Methods per Class) and LCOM (Lack of Cohesion in Methods). The techniques are limited to count the number of functions (C++). However. we suggested a new weighted method that checks the number of parameters, the return value and its data type. Then we addressed an effective complexity measurement technique based on the weight of class interfaces to provide guidelines for measuring the class complexity of OO codes in reverse engineering. The results of this research show that the proposed complexity measurement technique ECC(Enhanced Class Complexity) is consistent and accurate in C++ environment.

A study on Software Reuse System Using Reverse Engineering (역공학을 이용한 소프트웨어 재사용 시스템에 관한 연구)

  • Choe, Eun-Man
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.1
    • /
    • pp.97-106
    • /
    • 1997
  • Software reuse techniques make reapplication of various well-organized information knowledge to system development so that improve productivity and make it easy to maintain software. This paper describes the design and implementation of CSORUS(C and C++ SOurce ReUse System) which can extract reuse components using reverse engineering, and store, retrieve, merge them written with C of C++ programming language. The construction components using reverse engineering has advantage in quality assurance because they are reliable components already tested in real environments.

  • PDF

A Study on System Implementation through modeling the Financial VAN(Value Added Network) Connected Service Based on Reverse engineering (역공학 기반 금융VAN 연동 서비스 모델링을 통한 시스템 구현 연구)

  • Kim, Kyu-Won;Park, Bo-Kyung;Jang, Woo-Sung;Moon, So-Young;Kim, Young-Chul
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.92-96
    • /
    • 2010
  • VAN 시스템에서 운영되는 소프트웨어는 개발이 완료한 후에도 업체들의 다양한 요구 사항을 수용해야한다. 소프트웨어 개발 초기에 갖추어진 개발문서들은 오랜 유지보수 기간이 지나면 초기 개발의 내용과 많은 부분이 다르다. 이때 개발자가 각 각의 요구사항을 수용할 때 경험을 토대로 수정하기 때문에 개발문서가 정확하게 반영되지 않는다. 이러한 경우에 개발문서는 그 역할을 수행하지 못하므로 소스 코드에 의지 할 수밖에 없다. 또한 절차식 언어로 개발된 소프트웨어의 경우는 유지보수가 더 어렵다. 절차식 언어를 객체지향 언어로 변경한다면 유지보수성이 높아 질 것이다. 본 논문에서는 이러한 문제를 해결하기 위해 역공학을 이용하여 기존의 절차식 언어를 객체 지향 언어로 변경하기 위한 과정을 제안한다.

  • PDF

Applying Reverse Engineering through extracting Models from Code Visualization (코드 가시화부터 모델링 추출을 통한 역공학 적용)

  • Kwon, Haeun;Park, Bokyung;Yi, Keunsang;Park, Young B.;Kim, Youngsoo;Kim, R. Youngchul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.11a
    • /
    • pp.646-649
    • /
    • 2014
  • 최근 레가시 소프트웨어 기능의 증가와 범위가 넓어져, 결함으로 발생하는 사고의 피해 규모가 증가하고 있다. 그로 인해 소프트웨어의 고품질화가 절대적으로 필요하다. 기존 NIPA의 소프트웨어 가시화는 코드로부터 아키텍처 추출을 중점을 고려한다. 이로부터 역공학 기법을 통한 객체지향 코드의 정적 분석과 가시화로 모델(클래스 모델, 순차적 모델, 패키지 모델, 그리고 유스 케이스 모델)과 요구사항을 추출하고자 한다. 이에 앞서 기존에 구축한 Tool-chain에서 가시화를 통한 클래스 모델 추출을 먼저 시도한다. 본 논문에서는 객체지향 패러다임에 맞게 수정된 결합도 측정 방법을 제안하고 추출된 UML 클래스 다이어그램에 적용한다. 그 방법은 측정된 결합도를 클래스 간 의존 관계와 비교하고 UML 클래스 다이어그램에 표현하는 것이다. 이를 통해 기존 레가시 소프트웨어의 재개발 과정에서 설계 문서의 추출과 고품질화가 가능하다.

Implementation of an Obfuscation Tool for Visual C++ Source Code (Visual C++ 소스코드를 위한 Obfuscation 도구 구현)

  • Cho, Byoung-Min;Chang, Hye-Young;Noh, Jin-Uk;Oh, Hyun-Soo;Jung, Min-Gyu;Lee, Seung-Won;Park, Yong-Soo;Woo, Je-Hak;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10c
    • /
    • pp.521-525
    • /
    • 2006
  • 최근 소프트웨어의 주요 알고리즘 및 자료구조 등의 지적재산권을 역공학 분석과 같이 악의적인 공격들로부터 보호하기 위한 연구가 이루어지고 있다. 본 논문에서는 산업 현장에서 많이 사용되는 Visual C++ 또는 MFC로 작성된 프로그램의 소스 코드를 역공학 공격으로부터 보호하기 위한 Obfuscation 도구를 구현하고 그 성능을 평가한다. 구현된 도구는 3가지 Obfuscation 알고리즘을 적용하여 소스 코드를 생성하며 생성된 소스 코드들은 가독성이 떨어지고 역공학 분석이 어렵도록 변환되지만, 프로그램의 본래 기능은 그대로 유지하며 성능상의 변화가 크지 않음을 실험을 통해 확인할 수 있었다.

  • PDF