{"title":"Re-engineering the STMicroelectronics manufacturing model","authors":"V. Carchiolo, S. D'Ambra, A. Longheu, M. Malgeri","doi":"10.1109/CSMR.2000.827332","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827332","url":null,"abstract":"Current manufacturing systems have a very structured production model, especially when high precision is required, as in semiconductor device manufacturing. In addition, rapid changes in production and market requirements may occur, hence great flexibility is also essential. These goals often impose the re-engineering of periodically existing models, in order to remove its limitations, also adding new capabilities, significantly reducing the time-to-market of new products. Updating a model generally also requires the improvement of existing applications, both re-writing software components as well as adding new features. We consider the current model used inside STMicroelectronics facilities to define production flow. We first describe the model and its limitations, then we introduce an enhanced, object-oriented model, with inheritance and hierarchy support. We also consider which improvements are required on existing applications in order to support such a model, introducing an enhanced environment.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124224182","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":"Towards a quantitative assessment of method replacement","authors":"R. Keller, R. Schauer","doi":"10.1109/CSMR.2000.827322","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827322","url":null,"abstract":"Object oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of extending the methods of these classes, programmers often introduce subclasses in which they replace methods with new implementations that are completely detached from the superclass; that is, the subclass method does not invoke, directly or indirectly, its counterpart in the superclass. We apply the SPOOL environment to the reverse engineered C++ source code of the ET++ application framework to investigate the occurrences and causes for method replacements. To this end, we define a method replacement indicator (MRI) that quantifies the extent of method replacements. Based on the data obtained in our case study, we identify and discuss the ten causes why programmers replace non-primitive method implementations of reusable classes.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115959637","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}
Paulo Pinheiro da Silva, Alberto H. F. Laender, R. F. Resende, P. B. Golgher
{"title":"Characterizing a synthetic workload for performance evaluation during the migration of a legacy system","authors":"Paulo Pinheiro da Silva, Alberto H. F. Laender, R. F. Resende, P. B. Golgher","doi":"10.1109/CSMR.2000.827325","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827325","url":null,"abstract":"The paper describes the characterisation of a synthetic workload for performance evaluation of a new system before replacing a legacy system. The workload is used by CAPPLES, a capacity planning and performance analysis method for the migration of legacy systems. Typical workload characterisation problems are anticipated and discussed. Further, guidelines to characterise a CAPPLES workload for different migration scenarios are provided.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"64 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129586471","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 prediction ability of experienced software maintainers","authors":"M. Jørgensen, Dag I.K. Sjøberg, G. Kirkebøen","doi":"10.1109/CSMR.2000.827317","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827317","url":null,"abstract":"Reports an empirical study of 109 randomly selected maintenance tasks in a large Norwegian software organization. When the maintainers had understood the maintenance task specifications, we asked whether they knew how to solve the task. A high confidence in knowing how to solve the task meant that the maintainers did not expect any major difficulties. Then, immediately after the task was completed, we asked whether there had been any major unexpected difficulties. A comparison of the answers gave the seemingly surprising result that one could not, except for corrective, small and simple maintenance tasks, have more confidence in the predictions of an experienced maintainer than the predictions of an inexperienced maintainer. We believe that better quality of the feedback on previous predictions and more training in probabilistic thinking are important means to improve the prediction abilities of maintainers. Decision aids, such as maintenance effort estimation models, should enable the analysis of previous predictions and stimulate probabilistic thinking.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130726249","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":"Re-engineering of Estelle specifications for maintenance and evolution purposes","authors":"Piotr Rolinski, Jean-Luc Raffy","doi":"10.1109/CSMR.2000.827320","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827320","url":null,"abstract":"We propose a reengineering tool for Estelle specifications. The tool performs the conversion from a textual representation of an Estelle specification into a graphical one. It allows us to realize automatic transition transformations during this conversion. Moreover, changes can be directly made on this graphical representation and the result converted back to the textual form. These features make this tool essential for maintenance, reuse and evolution of Estelle specifications.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131724688","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":"Generation of stateless components from procedural programs for reuse in a distributed system","authors":"H. Sneed","doi":"10.1109/CSMR.2000.827326","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827326","url":null,"abstract":"The paper describes the techniques and tools developed by the author to generate stateless components from existing COBOL programs for reuse as server nodes in a distributed system. The techniques are based on static analysis, dataflow slicing and interface reengineering. The tools are implemented as a series of batch transformation processes under a Windows-NT user interface. The purpose of the work is to reuse legacy software to fulfil old business functions in a new technical environment with a minimum of change, thereby saving the costs of redevelopment.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114160488","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}
R. J. Bril, L. Feijs, A. Glas, R. Krikhaar, T. Winter
{"title":"Hiding expressed using relation algebra with multi-relations-oblique lifting and lowering for unbalanced systems","authors":"R. J. Bril, L. Feijs, A. Glas, R. Krikhaar, T. Winter","doi":"10.1109/CSMR.2000.827304","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827304","url":null,"abstract":"The analysis of existing software architectures may be supported by a relational approach. The approach is based on relational algebra with multi-relations extended with a theory about \"lifting\". Lifting transforms a relation at a certain level of the decomposition structure of a system (e.g. the module level) to a higher level (e.g. the subsystem level). The application of lifting has been reported for various industrial contexts for balanced systems (i.e. systems where the decomposition structure is a balanced tree). This paper reports upon a more liberal kind of lifting, termed \"oblique lifting\", which has the important advantage that it can also be used for unbalanced systems. Lowering, the opposite of lifting, can be liberalized in a similar fashion. The use of oblique lowering is illustrated by means of a typical example from the field of software architecture verification. The leading example of this paper uses the relational approach as a formal basis for a software architecture browser visualizing the module interconnection architecture of a software system. Oblique lifting is applied to hiding the decomposition structure of a module in a module interconnection diagram by choosing an appropriate mapping. After the hiding, various kinds of weights (or multiplicities) may be associated with the interconnections in the resulting diagram. Four definitions of weights are described, including the formalization of their related operations, with each weight having its own merits during architectural analysis.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117337005","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 evolution tree: a maintenance-oriented software development model","authors":"A. Tomer, S. Schach","doi":"10.1109/CSMR.2000.827329","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827329","url":null,"abstract":"We introduce the evolution tree-a software life-cycle model that describes software development as the continuous evolution of a software product. That is, we view software development as a maintenance process based on a tree of engineering decisions made at various times. These decisions are made by software engineers in response to modifications in the requirements as they are issued. Our evolution tree is a two-dimensional model for the entire software development process. It reflects the phase-wise nature of the development of each version of the software product, as well as the need for maintenance as successive versions evolve. In particular, the evolution tree can be used to identify those pieces of the software that need to be modified when the requirements change. The paper introduces an informal description of the evolution tree through a typical software development case study, and discusses the meaning of software artifacts, software documentation and maintenance within the context of the entire software life-cycle.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132649826","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}
Dave Swafford, Diana Elman, Peter H. Aiken, Jeff Merhout
{"title":"Experiences reverse engineering manually","authors":"Dave Swafford, Diana Elman, Peter H. Aiken, Jeff Merhout","doi":"10.1109/CSMR.2000.827327","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827327","url":null,"abstract":"Better understanding of manual reverse engineering can make it and any associated systems reengineering more effective. We reverse engineered a version of a system (referred to as \"BOS/X\") in support of a broader reengineering effort. System reengineering goals and other circumstances dictated a focused, limited duration, manual reverse engineering exercise. This presented an opportunity to study the BOS/X reverse engineering separately from other reengineering activities. We studied the BOS/X reverse engineering, the results achieved, and some limited reverse engineering metrics. The paper describes the: systems reengineering context; circumstances preventing application of automated techniques and motivating manual reverse engineering; reverse engineering results; resources required to produce the results; and an evaluation of the reverse engineering effectiveness. Combined, these results may be used as measures (standards of comparison) that can be studied further, for example to determine potential areas for future automation application.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122206267","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 coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems","authors":"Fernando Brito e Abreu, Gonçalo Pereira, P. Sousa","doi":"10.1109/CSMR.2000.827300","DOIUrl":"https://doi.org/10.1109/CSMR.2000.827300","url":null,"abstract":"Describes a validation experiment of a quantitative approach to the modularization of object-oriented systems. The approach used is based on cluster analysis, a statistical technique used in many fields of science to group items. In this case, the clusters are modules and the items are classes. A sample of some relatively large object-oriented systems was used in this experiment. The calculation of the dissimilarity between classes is based on their relative couplings combined through six different rating schemes. These couplings are classified according to a taxonomy framework where categories were assigned weights. The coupling data were obtained with the MOODKit G2 tool. The results obtained allow conclusions concerning the applicability of the proposed approach. This work was developed in the realm of the MOOD (Modularization of Object-Oriented Systems) project, which aims to deliver a quantitative framework to support the design of object-oriented systems.","PeriodicalId":169352,"journal":{"name":"Proceedings of the Fourth European Conference on Software Maintenance and Reengineering","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-02-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115096573","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}