{"title":"Toward seamless migration of Java AWT-based applications to personal wireless devices","authors":"G. Canfora, G. D. Santo, E. Zimeo","doi":"10.1109/WCRE.2004.38","DOIUrl":"https://doi.org/10.1109/WCRE.2004.38","url":null,"abstract":"The spread of personal wireless devices (PWDs) has raised the need to port into this new environment existing (legacy) desktop applications. Unfortunately, these applications are often too large and resource demanding to be executed on devices with limited resources without changing existing code. Consequently, desktop applications should be decomposed in different components to distribute between a PWD and one or more servers. Although the refactoring could be performed by changing the code in order to use specific APIs for client/server computing, the changes could be tedious and time consuming. So, the paper presents an approach based on the thin client model implemented through a framework which enables the seamless migration of Java desktop applications to mobile devices with limited resources.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124423042","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"TUAnalyzer - analyzing templates in C++ code","authors":"T. Gschwind, M. Pinzger, H. Gall","doi":"10.1109/WCRE.2004.40","DOIUrl":"https://doi.org/10.1109/WCRE.2004.40","url":null,"abstract":"We present TUAnalyzer, a novel tool that extracts the template structure of C++ programs on the basis of the GNU C/C++ compiler's internal representation of a C/C++ translation unit. In comparison to other such tools, our tool is capable of supporting the extraction of function invocations that depend on the particular instantiation of C++ templates and to relate them to their particular template instantiation. TUAnalyzer produces RSF format output that can be easily fed into existing visualization and analysis tools such as Rigi or Graphviz. We motivate why this kind of template analysis information is essential to understand real-world legacy C++ applications. We present how our tool extracts this kind of information to allow others to build on our results and further use the template information. The applicability of our tool has been validated on real code as proof of concept. The results obtained with TUAnalyzer enable us and other approaches and tools to perform detailed studies of large (open source) C/C++ projects in the near future.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122890680","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Reengineering reports","authors":"H. Sneed","doi":"10.1109/WCRE.2004.32","DOIUrl":"https://doi.org/10.1109/WCRE.2004.32","url":null,"abstract":"This contribution to the subject of software reengineering is focused on the reengineering of legacy system reports. The object is to extract the contents of existing print files for the purpose of creating new system interface files in XML. These new XML files can then be used both for system testing and system integration. The XML Schema Language XSD and a subset of the XML Transformation Language XSLT are used as a basis for describing and processing the existing reports. The conversion tool Repo2XML was developed within the context of an IBM mainframe to MS-DotNet migration project at the Austrian Chamber of Commerce in Vienna. There, the main use of the converted XML files was to act as a test baseline for the XML reports produced by the new system.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122693200","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"CaCOphoNy: metamodel-driven software architecture reconstruction","authors":"J. Favre","doi":"10.1109/WCRE.2004.15","DOIUrl":"https://doi.org/10.1109/WCRE.2004.15","url":null,"abstract":"Far too often, architecture descriptions of existing software systems are out of sync with the implementation. If they are, they must be reconstructed, but this is a very challenging task. The first problem to be solved is to define what \"software architecture\" means in the company. The answer can greatly vary, especially among the many stakeholders. In order to solve this problem, This work presents CaCOphoNy, a generic metamodel-driven process for reconstructing software architecture. This work provides a methodological guide and shows how metamodels can be used (1) to define architectural viewpoints, (2) to link these viewpoints to existing metaware and (3) to drive architecture reconstruction processes. The concepts presented Were identified over the last decade in the context of Dassault Systemes, one of the largest software companies in Europe, with more than 1200 developers. CaCOphoNy is however a very generic process pattern, and as such it can be applied in many other contexts. This process pattern is in line with the MDA and ADM approaches from the OMG. It also complies with the IEEE Standard 1471 for software architecture. A megamodel integrating these standards is presented.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130107342","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Imposing order on program statements to assist anti-virus scanners","authors":"Arun Lakhotia, Moinuddin Mohammed","doi":"10.1109/WCRE.2004.24","DOIUrl":"https://doi.org/10.1109/WCRE.2004.24","url":null,"abstract":"A metamorphic virus applies semantics preserving transformations on itself to create a different variant before propagation. Metamorphic computer viruses thwart current anti-virus technologies that use signatures - a fixed sequence of bytes from a sample of a virus - since two variants of a metamorphic virus may not share the same signature. A method to impose an order on the statements and components of expressions of a program is presented. The method, called a \"zeroing transformation,\" reduces the number of possible variants of a program created by reordering statement, reshaping expression, and renaming variable. On a collection of C program used for evaluation, the zeroing transformation reduced the space of program variants due to statement reordering from 10/sup 183/ to 10/sup 20/. Further reduction can be expected by undoing other transformations. Anti-virus technologies may be improved by extracting signatures from zero form of a virus, and not the original version.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130123654","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Quantifying the quality of object-oriented design: the factor-strategy model","authors":"Radu Marinescu, D. Ratiu","doi":"10.1109/WCRE.2004.31","DOIUrl":"https://doi.org/10.1109/WCRE.2004.31","url":null,"abstract":"The quality of a design has a decisive impact on the quality of a software product; but due to the diversity and complexity of design properties (e.g., coupling, encapsulation), their assessment and correlation with external quality attributes (e.g., maintenance, portability) is hard. In contrast to traditional quality models that express the \"goodness\" of design in terms of a set of metrics, the novel Factor-Strategy model proposed by This work, relates explicitly the quality of a design to its conformance with a set of essential principles, rules and heuristics. This model is based on a novel mechanism, called detection strategy, that raises the abstraction level in dealing with metrics, by allowing to formulate good-design rules and heuristics in a quantifiable manner, and to detect automatically deviations from these rules. This quality model provides a twofold advantage: (i) an easier construction and understanding of the model as quality is put in connection with design principles rather than \"raw numbers\"; and (ii) a direct identification of the real causes of quality flaws. We have validated the approach through a comparative analysis involving two versions of a industrial software system.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"515 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123074626","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The efficiency of specification fragments","authors":"A. Bollin","doi":"10.1109/WCRE.2004.36","DOIUrl":"https://doi.org/10.1109/WCRE.2004.36","url":null,"abstract":"Formal specifications are valid sources for comprehension tasks when used during later development phases. However, the linguistic density of specification languages and the size of specifications can still be seen as an obstacle against comprehension activities. This work presents an approach for the identification of fragments of Z specifications with a well defined semantic content. These fragments, specification chunks and specification slices, are analyzed in respect to their efficiency when used during typical comprehension tasks.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"43 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130820520","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The small world of software reverse engineering","authors":"A. Hassan, R. Holt","doi":"10.1109/WCRE.2004.37","DOIUrl":"https://doi.org/10.1109/WCRE.2004.37","url":null,"abstract":"Research in maintenance and reengineering has flourished and evolved into a central part of software engineering research worldwide. We have a look at this research community through the publications of its members in several international conferences. We analyze our results using various graph and text mining techniques. We contrast our findings to other research communities.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123256343","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Refactoring - improving coupling and cohesion of existing code","authors":"B. D. Bois, S. Demeyer, J. Verelst","doi":"10.1109/WCRE.2004.33","DOIUrl":"https://doi.org/10.1109/WCRE.2004.33","url":null,"abstract":"Refactorings are widely recognised as ways to improve the internal structure of object-oriented software while maintaining its external behaviour. Unfortunately, refactorings concentrate on the treatment of symptoms (the so called code-smells), thus improvements depend a lot on the skills of the maintained coupling and cohesion on the other hand are quality attributes which are generally recognized as being among the most likely quantifiable indicators for software maintainability. Therefore, this paper analyzes how refactorings manipulate coupling/cohesion characteristics, and how to identify refactoring opportunities that improve these characteristics. As such we provide practical guidelines for the optimal usage of refactoring in a software maintenance process.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129414631","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A brief summary of cognitive patterns for program comprehension","authors":"Adam Murray, T. Lethbridge","doi":"10.1109/WCRE.2004.5","DOIUrl":"https://doi.org/10.1109/WCRE.2004.5","url":null,"abstract":"A cognitive pattern is a solution to a recurring mental problem. We focus on those relevant to program comprehension. We expand one pattern, Temporal Details, which is also a pattern language since it decomposes into sub-patterns. Tool designers can use cognitive patterns to grasp how tool users may think.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126188138","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}