본문 바로가기

소프트웨어 정보/소프트웨어공학

소프트웨어 역공학

이번 포스팅에서는 소프트웨어 역공학에 대하여 설명하도록 하겠습니다. 소프트웨어 역공학이란 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 작업을 의미합니다.



위의 그림은 소프트웨어의 순공학과 역공학을 나타낸 것입니다. 요구사항 정의 -> 분석 -> 설계 -> 구현의 순서로 이루어진 순공학과 그의 역순서인 역공학을 간단하게 알 수 있습니다.

 

역공학은 주로 코드 상의 저보들을 추출하여 해석함으로 이전의 내용들을 복원할 수 있는데 이 과정을 통해 소프트웨어에 대한 다양한 통찰력을 기를 수 있다는 것이 특징입니다.