D. Dori, Valeria Perelman, Galia Shlezinger, Iris Reinhartz-Berger
{"title":"Pattern-based design recovery from object-oriented languages to object process methodology","authors":"D. Dori, Valeria Perelman, Galia Shlezinger, Iris Reinhartz-Berger","doi":"10.1109/SWSTE.2005.16","DOIUrl":null,"url":null,"abstract":"Keeping large software projects well documented is expensive and time consuming. Small code changes seldom propagate up to the design level. Therefore, design of large software becomes incoherent with the actual code. Yet understanding the original design intentions is crucial for supporting the life cycle of the software. Reverse engineering (RE) is the process of constructing a model of a system at a level that is more abstract than the source level at which the system is specified. In software, this amounts primarily to recovering the system design from its existing code. Most existing RE tools are UML-based. The majority of them recover only static aspects of the design, displayed by class diagrams. Others use pattern detection techniques to recover some of the high-level behavior. In this work, we argue that modeling dynamic behavior of even moderately complex systems is hardly feasible with UML due to its lack of hierarchy. As an alternative, we propose RE that is based on object process methodology (OPM), which provides a hierarchical view and a simple representation of design patterns.","PeriodicalId":434556,"journal":{"name":"IEEE International Conference on Software - Science, Technology & Engineering (SwSTE'05)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-02-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE International Conference on Software - Science, Technology & Engineering (SwSTE'05)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SWSTE.2005.16","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Keeping large software projects well documented is expensive and time consuming. Small code changes seldom propagate up to the design level. Therefore, design of large software becomes incoherent with the actual code. Yet understanding the original design intentions is crucial for supporting the life cycle of the software. Reverse engineering (RE) is the process of constructing a model of a system at a level that is more abstract than the source level at which the system is specified. In software, this amounts primarily to recovering the system design from its existing code. Most existing RE tools are UML-based. The majority of them recover only static aspects of the design, displayed by class diagrams. Others use pattern detection techniques to recover some of the high-level behavior. In this work, we argue that modeling dynamic behavior of even moderately complex systems is hardly feasible with UML due to its lack of hierarchy. As an alternative, we propose RE that is based on object process methodology (OPM), which provides a hierarchical view and a simple representation of design patterns.