소프트웨어 재공학은 기존 시스템의 유지보수 문제에 대한 해결책으로 많은 연구가 이루어지고 있다. 재공 학은 역공학과 순공학을 통해 기존 시스댐에 대한 소프트웨어 개발을 의미하며, 기존 시스템의 소프트웨어에서 클래스를 추출하여 시스템의 이해를 높일 뿐만 아니라 소프트웨어 유지보수를 향상시키는데 적용된다 이를 위해 사용되는 중요한 개념으로 "합성"은 서로 다른 컴퍼넌트틀로부터 필요한 기능을 가져와 재구성하는 것이다. 또한, 정보 저장소에 저장된 클래스와 클러스터들은 고수준에서 재사용되기 위해 제공되는 시스템의 주요 컴퍼넌트들과 그들간의 구조적인 관계를 가진다. 이들은 그 각각으로 하나의 아키텍쳐를 구성하여 향후 동적 정보로 참조된다. 따라서, 기존의 객체지향 원시코드를 논리적으로 표현함으로써 추출기와 검색기, 합성기에 의해 클래스가 생성되며 클래스와 클러스터 정보는 각각 최적화(optimization)를 통해 정련화된 정보를 추출해 낸다. 이러한 정보틀은정보저장소에 저장되며,클래스간의 관계성에 의한클러스터를하나의 새로운아키텍쳐로써 생성한 다. 또한, 이 정보는 향후 실행 가능한 코드로써 사용되어진다. 본 논문에서 제시한 툴은 재공학을 기반으로 객체지향 정보를 분석하고 합성 방법론을 수행하여 새로운 정보로써 사용자에게 제시된다. 또한, 새로운 코드와 재구축된 고수준의 합성 클래스는 재사용을 높이고, 기존 소프트웨어에 대한 고수준의 이해성과 유지보수성을 제공한다.