Reverse engineering a large component-based software product

J.-M. Favre, F. Duclos, J. Estublier, R. Sanlaville, J.-J. Auffret
<i title="IEEE Comput. Soc"> Proceedings Fifth European Conference on Software Maintenance and Reengineering </i> &nbsp;
Most research done to date on software maintenance has been focused mainly on the evolution of legacy systems based on obsolete technologies. However, the use of more recent yet evolving technologies, like component-based techniques, also raise various issues about software comprehension and evolution. In particular, current industrial-strength component models like COM are based on many technical aspects that make them difficult to understand and use. The evolution of large componentbased
more &raquo; ... are products is thus an emerging issue. This paper takes as a case study the component model developed and used by Dassault Systèmes, one of the largest software companies in Europe, for the development of its product lines, namely CATIA, DELMIA, and ENOVIA. This paper shows how the use of a meta model can help in understanding and reasoning about components, and how this meta model constitutes a good basis for building a reverse engineering environment. Currently, two kinds of tools have been integrated in this environment: OMVT which is Dassault Systèmes specific, and GSEE which is a generic tool independent from the meta-model used.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="">doi:10.1109/csmr.2001.914973</a> <a target="_blank" rel="external noopener" href="">fatcat:h2l34skqkzajnb6yojuwvp66jq</a> </span>
<a target="_blank" rel="noopener" href="" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href=""> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> </button> </a>