A Functional Verification Techniques in Software Reverse Engineering

소프트웨어 역공학에서 기능성 검증 기법

  • 황선명 (대전대학교 컴퓨터공학과) ;
  • 진영택 (대전산업대학교 전자계산학과)
  • Published : 1998.10.01

Abstract

Existing Systems need to be modified due to the change of environment, the emergence of new technology and the requirement of change. One of the features of system transformation is how functions of the old system is preserved in the transformed system after reverse-engineering. But, the techniques to evaluate and verigy the transformed system have proceeded more partially and fragmentarily. In this paper, we have proposed the functional coverage and developed the tool and techniques for verifying functional euivalence between a procedural software and a transformed object-oriented software. The tool and methods are efficiently used to verigy whehter the transformed program preserves the same functionality as the existing program.

기존의 절차중심 패러다임으로 개발된 시스템들은 사용자들의 새로운 요구와 변화 그리고 개발 당시의 기술보다 뛰어난 새로운 기술이 개발됨에 따라 수정되어야할 필요가 있다. 특히 재공학 및 역공학 기술로부터 품질이 높은 기존 시스템이 객체지향 시스템으로 변환되었을 때 변화된 시스템의 기능이 변환이전의 시스템과 동일한지 여부의 평가가 필요하다. 본 논문에서는 함수 커버리지를 제안하여 절차 중심의 소프트웨어와 변화된 객체지향 소프트웨어간의 기능적 일치성을 검증하기 위한 방법과 도구를 개발하였다. 이때 동적 분석에 필요한 계측도구의 삽입과정과 검증절차를 통하여 함수 커버리지의 만족 여부를 판단하여 테스트 데이터를 선정하였다.

Keywords