Georgios Lajios, Doris Schmedding, Friedrich Volmering
{"title":"Supporting Language Conversion by Metric Based Reports","authors":"Georgios Lajios, Doris Schmedding, Friedrich Volmering","doi":"10.1109/CSMR.2008.4493336","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493336","url":null,"abstract":"Syntax analysis and metrics are combined to a tool chain for automatic generation of reports used to assist in language conversion from C++ to Java. The reports point out potential migration obstacles by identifying relevant parts of the source code, thus enabling developers to pre-edit the code selectively.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125415088","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}
Shimin Li, L. Tahvildari, Weining Liu, M. Morrissey, G. Cort
{"title":"Coping with Requirements Changes in Software Verification and Validation","authors":"Shimin Li, L. Tahvildari, Weining Liu, M. Morrissey, G. Cort","doi":"10.1109/CSMR.2008.4493337","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493337","url":null,"abstract":"The testing activities of the Software Verification & Validation (SV&V) team at Research In Motion (RIM) are requirements-based, which is commonly known as requirements-driven testing (RDT). Software requirements are continuously changing, which has an important impact on the RDT process. This paper describes the major challenges in coping with requirements changes in the software verification and validation processes and indicates how those challenges are being addressed at RIM.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124095832","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}
Janos Pantos, Árpád Beszédes, Pál Gyenizse, T. Gyimóthy
{"title":"Experiences in Adapting a Source Code-Based Quality Assessment Technology","authors":"Janos Pantos, Árpád Beszédes, Pál Gyenizse, T. Gyimóthy","doi":"10.1109/CSMR.2008.4493335","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493335","url":null,"abstract":"Testing-based software quality assurance often does not provide an appropriate level of efficiency and reliability. To aid this problem, different kinds of static verification techniques can be applied, like code metrics and code inspection. Many quality assessment methods that are based on static source code analysis has already been proposed, yet these can be used is particular industrial environment - in which often proprietary programming languages are used - only after appropriate adaptation. This paper presents experiences in adapting an existing technology and tools suitable for quality assessment based on source code analysis. The technology has demonstrated its success and usability in industrial environment; being capable of comprehensive and continuous quality monitoring of large and complex software systems involving proprietary technologies.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127904849","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 Idiomatic Exception Handling in Legacy C Code","authors":"M. Bruntink","doi":"10.1109/CSMR.2008.4493308","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493308","url":null,"abstract":"Some legacy programming languages, e.g., C, do not provide adequate support for exception handling. As a result, users of these legacy programming languages often implement exception handling by applying an idiom. An idiomatic style of implementation has a number of drawbacks: applying idioms can be fault prone and requires significant effort. Modern programming languages provide support for structured exception handling (SEH) that makes idioms largely obsolete. Additionally, aspect-oriented programming (AOP) is believed to further reduce the effort of implementing exception handling. This paper investigates the gains that can be achieved by reengineering the idiomatic exception handling of a legacy C component to these modern techniques. First, we will reengineer a C component such that its exception handling idioms are almost completely replaced by SEH constructs. Second, we will show that the use of AOP for exception handling can be beneficial, even though the benefits are limited by inconsistencies in the legacy implementation.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132620961","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":"Splitting a Large Software Archive for Easing Future Software Evolution - An Industrial Experience Report using Formal Concept Analysis","authors":"Marco Glorie, A. Zaidman, L. Hofland, A. Deursen","doi":"10.1109/CSMR.2008.4493310","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493310","url":null,"abstract":"Philips medical systems produces medical diagnostic imaging products, such as MR, X-ray and CT scanners. The software of these devices is complex, has been evolving for several decades and is currently a multi-MLOC monolithic software archive. In this paper we report on splitting a single software archive into multiple smaller archives so that these can be developed independently, easing the software's evolution. To determine how to split such a single software archive we use formal concept analysis. Because of the sheer size of the monolithic software archive, we also propose to use a 'leveled approach'. This leveled approach implies that the analysis technique is applied in several iterations, whereby in some iterations only part of the application is subjected to the analysis technique. We conclude this paper with an evaluation of the used analysis method in this industrial context.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131174157","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":"Training and Certifying Software Maintainers","authors":"H. Sneed, Stefan Opferkuch","doi":"10.1109/CSMR.2008.4493306","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493306","url":null,"abstract":"This position paper presents a proposal for training and certifying software maintainers - both at the academic level and in the industry. Two levels of certification are proposed similar to the existing certification of software testers - a foundation level and an advanced level. For each training a course is outlined, one for the foundation level and one for the advanced level. The courses were developed and delivered by the authors both at the university and for industrial customers and were met with acceptance in both fields. Certifying maintainers according to an internationally accredited body of knowledge would help to establish software maintenance and evolution as an acknowledged profession. The certification program would also give universities and training institutes a common guideline to go by in teaching maintenance and evolution of software.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132721007","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":"How Lisp Systems Look Different","authors":"Adrian Dozsa, Tudor Gîrba, Radu Marinescu","doi":"10.1109/CSMR.2008.4493317","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493317","url":null,"abstract":"Many reverse engineering approaches have been developed to analyze software systems written in different languages like C/C++ or Java. These approaches typically rely on a meta-model, that is either specific for the language at hand or language independent (e.g. UML). However, one language that was hardly addressed is Lisp. While at first sight it can be accommodated by current language independent meta-models, Lisp has some unique features (e.g. macros, CLOS entities) that are crucial for reverse engineering Lisp systems. In this paper we propose a suite of new visualizations that reveal the special traits of the Lisp language and thus help in understanding complex Lisp systems. To validate our approach we apply them on several large Lisp case studies, and summarize our experience in terms of a series of recurring visual patterns that we have detected.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"2 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127973897","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":"Visual Detection of Design Anomalies","authors":"Karim Dhambri, H. Sahraoui, Pierre Poulin","doi":"10.1109/CSMR.2008.4493326","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493326","url":null,"abstract":"Design anomalies, introduced during software evolution, are frequent causes of low maintainability and low flexibility to future changes. Because of the required knowledge, an important subset of design anomalies is difficult to detect automatically, and therefore, the code of anomaly candidates must be inspected manually to validate them. However, this task is time- and resource-consuming. We propose a visualization-based approach to detect design anomalies for cases where the detection effort already includes the validation of candidates. We introduce a general detection strategy that we apply to three types of design anomaly. These strategies are illustrated on concrete examples. Finally we evaluate our approach through a case study. It shows that performance variability against manual detection is reduced and that our semi-automatic detection has good recall for some anomaly types.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128791211","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}
George Papastefanatos, Fotini Anagnostou, Y. Vassiliou, Panos Vassiliadis
{"title":"Hecataeus: A What-If Analysis Tool for Database Schema Evolution","authors":"George Papastefanatos, Fotini Anagnostou, Y. Vassiliou, Panos Vassiliadis","doi":"10.1109/CSMR.2008.4493341","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493341","url":null,"abstract":"Databases are continuously evolving environments, where design constructs are added, removed or updated rather often. Small changes in the database configurations might impact a large number of applications and data stores around the system: queries and data entry forms can be invalidated, application programs might crash. HECATAEUS is a tool, which represents the database schema along with its dependent workload, mainly queries and views, as a uniform directed graph. The tool enables the user to create hypothetical evolution events and examine their impact over the overall graph as well as to define rules so that both syntactical and semantic correctness of the affected workload is retained.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116792561","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}
Gentzane Aldekoa, Salvador Trujillo, Goiuria Sagardui Mendieta, O. Díaz
{"title":"Quantifying Maintainability in Feature Oriented Product Lines","authors":"Gentzane Aldekoa, Salvador Trujillo, Goiuria Sagardui Mendieta, O. Díaz","doi":"10.1109/CSMR.2008.4493319","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493319","url":null,"abstract":"Families of products are steadily emerging for distinct settings such as embedded systems, navigational systems, financial applications or even web applications. This shifts the attention from individual product-centric development to software product line development where the focus is on constructing reusable assets from which customer-specific products are obtained. This paper tackles the maintenance of an entire family of products, describing our approach to quantifying maintainability. We report our experience measuring the maintainability index of each product in the family, and then propose a generalization of the results in terms of the entire family or product line. This exposes a number of benefits towards the improvement of product-line maintainability, enhancing ultimately customer-specific products.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114178516","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}