首页 > 最新文献

2008 12th European Conference on Software Maintenance and Reengineering最新文献

英文 中文
Interpretation of Source Code Clusters in Terms of the ISO/IEC-9126 Maintainability Characteristics 根据ISO/IEC-9126可维护性特征解释源代码集群
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493301
Y. Kanellopoulos, Christos Tjortjis, I. Heitlager, Joost Visser
Clustering is a data mining technique that allows the grouping of data points on the basis of their similarity with respect to multiple dimensions of measurement. It has also been applied in the software engineering domain, in particular to support software quality assessment based on source code metrics. Unfortunately, since clusters emerge from metrics at the source code level, it is difficult to interpret the significance of clusters at the level of the quality of the entire system. In this paper, we propose a method for interpreting source code clusters using the ISO/IEC 9126 software product quality model. Several methods have been proposed to perform quantitative assessment of software systems in terms of the quality characteristics defined by ISO/IEC 9126. These methods perform mappings of low-level source code metrics to high-level quality characteristics by various aggregation and weighting procedures. We applied such a method to obtain quality profiles at various abstraction levels for each generated source code cluster. Subsequently, the plethora of quality profiles obtained is visualized such that conclusions about different quality problems in various clusters can be obtained at a glance.
聚类是一种数据挖掘技术,它允许根据数据点相对于多个度量维度的相似性对数据点进行分组。它也被应用于软件工程领域,特别是支持基于源代码度量的软件质量评估。不幸的是,由于集群是从源代码级别的度量中产生的,因此很难在整个系统质量级别上解释集群的重要性。在本文中,我们提出了一种使用ISO/IEC 9126软件产品质量模型来解释源代码集群的方法。根据ISO/IEC 9126定义的质量特征,已经提出了几种方法来对软件系统进行定量评估。这些方法通过各种聚合和加权过程执行低级源代码度量到高级质量特征的映射。我们应用这样的方法来获得每个生成的源代码集群在不同抽象级别上的质量概要文件。随后,获得的大量质量概况被可视化,以便可以一目了然地获得关于不同集群中不同质量问题的结论。
{"title":"Interpretation of Source Code Clusters in Terms of the ISO/IEC-9126 Maintainability Characteristics","authors":"Y. Kanellopoulos, Christos Tjortjis, I. Heitlager, Joost Visser","doi":"10.1109/CSMR.2008.4493301","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493301","url":null,"abstract":"Clustering is a data mining technique that allows the grouping of data points on the basis of their similarity with respect to multiple dimensions of measurement. It has also been applied in the software engineering domain, in particular to support software quality assessment based on source code metrics. Unfortunately, since clusters emerge from metrics at the source code level, it is difficult to interpret the significance of clusters at the level of the quality of the entire system. In this paper, we propose a method for interpreting source code clusters using the ISO/IEC 9126 software product quality model. Several methods have been proposed to perform quantitative assessment of software systems in terms of the quality characteristics defined by ISO/IEC 9126. These methods perform mappings of low-level source code metrics to high-level quality characteristics by various aggregation and weighting procedures. We applied such a method to obtain quality profiles at various abstraction levels for each generated source code cluster. Subsequently, the plethora of quality profiles obtained is visualized such that conclusions about different quality problems in various clusters can be obtained at a glance.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"31 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":"122071380","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}
引用次数: 23
Comparing "Traditional" and Web Specific Fit Tables in Maintenance Tasks: A Preliminary Empirical Study 比较“传统”和网络特定的适合表维护任务:一个初步的实证研究
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493327
A. Marchetto, F. Ricca, Marco Torchiano
In this paper we focus on the use of Fit tables, a table- based approach used to clarify (change-)requirements and validate software systems. The main purpose of this work is to compare Fit tables for traditional systems and Web specific Fit tables. Results indicate that Fit tables do not provide any significant help to Web developers, while they seem to be useful for traditional systems. The main reason appears to lie in the complexity of the Fit tables used for Web systems.
在本文中,我们关注Fit表的使用,这是一种基于表的方法,用于澄清(变更)需求和验证软件系统。这项工作的主要目的是比较传统系统的Fit表和特定于Web的Fit表。结果表明,Fit表对Web开发人员没有提供任何重要的帮助,而它们似乎对传统系统很有用。主要原因似乎在于用于Web系统的Fit表的复杂性。
{"title":"Comparing \"Traditional\" and Web Specific Fit Tables in Maintenance Tasks: A Preliminary Empirical Study","authors":"A. Marchetto, F. Ricca, Marco Torchiano","doi":"10.1109/CSMR.2008.4493327","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493327","url":null,"abstract":"In this paper we focus on the use of Fit tables, a table- based approach used to clarify (change-)requirements and validate software systems. The main purpose of this work is to compare Fit tables for traditional systems and Web specific Fit tables. Results indicate that Fit tables do not provide any significant help to Web developers, while they seem to be useful for traditional systems. The main reason appears to lie in the complexity of the Fit tables used for Web systems.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"75 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":"116260835","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}
引用次数: 5
Supporting the Grow-and-Prune Model in Software Product Lines Evolution Using Clone Detection 利用克隆检测支持软件产品线进化中的生长-修剪模型
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493311
Thilo Mende, Felix Beckwermert, R. Koschke, G. Meier
Software product lines (SPL) can be used to create and maintain different variants of software-intensive systems by explicitly managing variability. Often, SPLs are organized as an SPL core, common to all products, upon which product-specific components are built. Following the so called grow-and-prune model, SPLs may be evolved by copy&paste at large scale. New products are created from existing ones and existing products are enhanced with functionalities specific to other products by copying and pasting code between product-specific code. To regain control of this unmanaged growth, such code may be pruned, that is, identified and refactored into core components upon success. This paper describes tool support for the grow-and- prune model in the evolution of software product lines by identifying similar functions which can be moved to the core. These functions are identified in two steps. First, token-based clone detection is used to detect pairs of functions sharing code. Second, Levenshtein distance measures the textual similarity among these functions. Sufficient similarity at function level is then lifted to the architectural level. The approach is evaluated by three case studies, one using an open source email client to simulate the initial creation of an SPL, and two monitoring existing industrial product lines from the embedded domain.
软件产品线(SPL)可以通过显式地管理可变性来创建和维护软件密集型系统的不同变体。通常,SPL被组织为所有产品通用的SPL核心,并在此基础上构建特定于产品的组件。遵循所谓的生长-修剪模型,SPLs可能通过大规模的复制-粘贴来进化。新产品是在现有产品的基础上创建的,通过在特定于产品的代码之间复制和粘贴代码,现有产品可以使用特定于其他产品的功能进行增强。为了重新控制这种失控的增长,这样的代码可能会被删减,也就是说,在成功后识别并重构为核心组件。本文通过识别可移动到核心的类似功能,描述了在软件产品线演进过程中对生长-修剪模型的工具支持。通过两个步骤确定这些函数。首先,基于令牌的克隆检测用于检测共享代码的函数对。其次,Levenshtein距离度量这些函数之间的文本相似度。然后将功能级别上的足够相似性提升到架构级别。该方法通过三个案例研究进行了评估,一个使用开源电子邮件客户端来模拟SPL的初始创建,另外两个从嵌入式领域监控现有的工业产品线。
{"title":"Supporting the Grow-and-Prune Model in Software Product Lines Evolution Using Clone Detection","authors":"Thilo Mende, Felix Beckwermert, R. Koschke, G. Meier","doi":"10.1109/CSMR.2008.4493311","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493311","url":null,"abstract":"Software product lines (SPL) can be used to create and maintain different variants of software-intensive systems by explicitly managing variability. Often, SPLs are organized as an SPL core, common to all products, upon which product-specific components are built. Following the so called grow-and-prune model, SPLs may be evolved by copy&paste at large scale. New products are created from existing ones and existing products are enhanced with functionalities specific to other products by copying and pasting code between product-specific code. To regain control of this unmanaged growth, such code may be pruned, that is, identified and refactored into core components upon success. This paper describes tool support for the grow-and- prune model in the evolution of software product lines by identifying similar functions which can be moved to the core. These functions are identified in two steps. First, token-based clone detection is used to detect pairs of functions sharing code. Second, Levenshtein distance measures the textual similarity among these functions. Sufficient similarity at function level is then lifted to the architectural level. The approach is evaluated by three case studies, one using an open source email client to simulate the initial creation of an SPL, and two monitoring existing industrial product lines from the embedded domain.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"241 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":"132108705","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}
引用次数: 76
Towards Recovering Architectural Concepts Using Latent Semantic Indexing 利用潜在语义索引恢复架构概念
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493321
Pieter Van Der Spek, Steven Klusener, Pierre Van De Laar
In order to address the problem of locating high-level concepts in source code we propose to use an advanced information retrieval method to exploit linguistic information found in source code, such as variable names and comments. Our technique is based on latent semantic indexing (LSI) which is also used in today's search engines. Applying LSI to source code, however, is not straightforward. Our approach therefore not only includes LSI, but also several other algorithms and methods. We discuss the algorithms and methods that turned out to be useful and provide an overview of their effects using the results obtained from a case study at Philips Healthcare.
为了解决在源代码中定位高级概念的问题,我们提出使用一种先进的信息检索方法来利用源代码中的语言信息,如变量名和注释。我们的技术是基于潜在语义索引(LSI),这也被用于今天的搜索引擎。然而,将LSI应用于源代码并不是直截了当的。因此,我们的方法不仅包括LSI,还包括其他几种算法和方法。我们讨论了有用的算法和方法,并使用Philips Healthcare的案例研究结果概述了它们的效果。
{"title":"Towards Recovering Architectural Concepts Using Latent Semantic Indexing","authors":"Pieter Van Der Spek, Steven Klusener, Pierre Van De Laar","doi":"10.1109/CSMR.2008.4493321","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493321","url":null,"abstract":"In order to address the problem of locating high-level concepts in source code we propose to use an advanced information retrieval method to exploit linguistic information found in source code, such as variable names and comments. Our technique is based on latent semantic indexing (LSI) which is also used in today's search engines. Applying LSI to source code, however, is not straightforward. Our approach therefore not only includes LSI, but also several other algorithms and methods. We discuss the algorithms and methods that turned out to be useful and provide an overview of their effects using the results obtained from a case study at Philips Healthcare.","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":"130225534","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}
引用次数: 23
Metamodels Taken Seriously: The TGraph Approach 认真对待元模型:TGraph方法
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493294
J. Ebert
Source code and accompanying documents that are subject to reverse engineering activities are usually written in different artifact languages, ranging from programming languages over diagram languages to natural languages. For the purpose of information extraction from such heterogeneous sources a common unifying representation is essential. Metamodeling is a popular approach to define the abstract syntax of any kind of language and is capable to handle almost all kinds of languages and formats occurring in reverse engineering contexts. Metamodels specify how concrete artifacts are to be represented as instances. The instances of CMOF-like metamodels can be viewed as graphs. TGraphs are a very general graph concept, which is based on vertices and edges as first-class entities and includes types, attributes, and ordering for both. Their use allows a common integrated representation of all kinds of documents in a concise manner which is simultaneously formal, visualisable, and efficiently processable. This talk will explain the use of metamodeling of artifacts and their representation by TGraphs as an efficient data structure. It will illustrate the role of graph algorithms and graph querying as enabling technologies in graph-based reverse engineering tools..
受逆向工程活动影响的源代码和附带的文档通常是用不同的工件语言编写的,范围从编程语言到图语言再到自然语言。为了从这种异构源中提取信息,一个通用的统一表示是必不可少的。元建模是一种定义任何语言的抽象语法的流行方法,并且能够处理逆向工程上下文中出现的几乎所有类型的语言和格式。元模型指定如何将具体工件表示为实例。类似cmof的元模型的实例可以看作是图形。tgraph是一个非常通用的图概念,它基于顶点和边作为一级实体,包括类型、属性和两者的排序。它们的使用允许以一种简洁的方式对所有类型的文档进行通用的集成表示,这种方式同时具有形式化、可视化和有效的可处理性。本演讲将解释工件元建模的使用以及tgraph作为有效数据结构的表示。它将说明图算法和图查询作为基于图的逆向工程工具中的启用技术的作用。
{"title":"Metamodels Taken Seriously: The TGraph Approach","authors":"J. Ebert","doi":"10.1109/CSMR.2008.4493294","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493294","url":null,"abstract":"Source code and accompanying documents that are subject to reverse engineering activities are usually written in different artifact languages, ranging from programming languages over diagram languages to natural languages. For the purpose of information extraction from such heterogeneous sources a common unifying representation is essential. Metamodeling is a popular approach to define the abstract syntax of any kind of language and is capable to handle almost all kinds of languages and formats occurring in reverse engineering contexts. Metamodels specify how concrete artifacts are to be represented as instances. The instances of CMOF-like metamodels can be viewed as graphs. TGraphs are a very general graph concept, which is based on vertices and edges as first-class entities and includes types, attributes, and ordering for both. Their use allows a common integrated representation of all kinds of documents in a concise manner which is simultaneously formal, visualisable, and efficiently processable. This talk will explain the use of metamodeling of artifacts and their representation by TGraphs as an efficient data structure. It will illustrate the role of graph algorithms and graph querying as enabling technologies in graph-based reverse engineering tools..","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"42 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":"133196511","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}
引用次数: 11
Do Design Patterns Impact Software Quality Positively? 设计模式对软件质量有积极影响吗?
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493325
Foutse Khomh, Yann-Gaël Guéhéneuc
We study the impact of design patterns on quality attributes in the context of software maintenance and evolution. We show that, contrary to popular beliefs, design patterns in practice impact negatively several quality attributes, thus providing concrete evidence against common lore. We then study design patterns and object-oriented best practices by formulating a second hypothesis on the impact of these principles on quality. We show that results for some design patterns cannot be explained and conclude on the need for further studies. Thus, we bring further evidence that design patterns should be used with caution during development because they may actually impede maintenance and evolution.
在软件维护和发展的背景下,我们研究了设计模式对质量属性的影响。我们表明,与流行的看法相反,设计模式在实践中会对几个质量属性产生负面影响,从而提供了反对普遍看法的具体证据。然后,我们通过提出关于这些原则对质量影响的第二个假设来研究设计模式和面向对象的最佳实践。我们表明,一些设计模式的结果无法解释,并得出需要进一步研究的结论。因此,我们提出了进一步的证据,说明在开发过程中应该谨慎使用设计模式,因为它们实际上可能阻碍维护和发展。
{"title":"Do Design Patterns Impact Software Quality Positively?","authors":"Foutse Khomh, Yann-Gaël Guéhéneuc","doi":"10.1109/CSMR.2008.4493325","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493325","url":null,"abstract":"We study the impact of design patterns on quality attributes in the context of software maintenance and evolution. We show that, contrary to popular beliefs, design patterns in practice impact negatively several quality attributes, thus providing concrete evidence against common lore. We then study design patterns and object-oriented best practices by formulating a second hypothesis on the impact of these principles on quality. We show that results for some design patterns cannot be explained and conclude on the need for further studies. Thus, we bring further evidence that design patterns should be used with caution during development because they may actually impede maintenance and evolution.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"7 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":"127657843","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}
引用次数: 122
A Tool for Optimizing the Build Performance of Large Software Code Bases 一个优化大型软件代码库构建性能的工具
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493340
A. Telea, L. Voinea
We present Build Analyzer, a tool that helps developers optimize the build performance of huge systems written in C. Due to complex C header dependencies, even small code changes can cause extremely long rebuilds, which are problematic when code is shared and modified by teams of hundreds of individuals. Build Analyzer supports several use cases. For developers, it provides an estimate of the build impact and distribution caused by a given change. For architects, it shows why a build is costly, how its cost is spread over the entire code base, which headers cause build bottlenecks, and suggests ways to refactor these to reduce the cost. We demonstrate Build Analyzer with a use-case on a real industry code base.
我们介绍Build Analyzer,这是一个帮助开发人员优化用C编写的大型系统的构建性能的工具。由于复杂的C头依赖关系,即使是很小的代码更改也可能导致极其长时间的重建,当代码由数百人组成的团队共享和修改时,这是一个问题。Build Analyzer支持几个用例。对于开发人员,它提供了对由给定更改引起的构建影响和分布的估计。对于架构师来说,它显示了为什么构建是昂贵的,它的成本是如何分布在整个代码库上的,哪些头文件会导致构建瓶颈,并建议重构这些头文件以降低成本的方法。我们在一个真实的行业代码库上用一个用例来演示Build Analyzer。
{"title":"A Tool for Optimizing the Build Performance of Large Software Code Bases","authors":"A. Telea, L. Voinea","doi":"10.1109/CSMR.2008.4493340","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493340","url":null,"abstract":"We present Build Analyzer, a tool that helps developers optimize the build performance of huge systems written in C. Due to complex C header dependencies, even small code changes can cause extremely long rebuilds, which are problematic when code is shared and modified by teams of hundreds of individuals. Build Analyzer supports several use cases. For developers, it provides an estimate of the build impact and distribution caused by a given change. For architects, it shows why a build is costly, how its cost is spread over the entire code base, which headers cause build bottlenecks, and suggests ways to refactor these to reduce the cost. We demonstrate Build Analyzer with a use-case on a real industry code base.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"78 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":"128442351","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}
引用次数: 15
Software Maintenance and Reengineering in the Days of Software Agents 软件代理时代的软件维护与再造
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493293
J. Mylopoulos
There is an ongoing paradigm shift in Software Engineering from object-orientation to agent-orientation. We review some of the reasons for this, and briefly overview the state-of-the-art in Agent-Oriented Software Engineering (AOSE). We then sketch some threads of long-term research on autonomic software, software monitoring and diagnosis, and requirements evolution. In addition, we discuss the impact this research may have on how software maintenance and reengineering is done in the future. The research reported is the result of collaborations with colleagues at the Universities of Toronto, Trento and a number of other academic institutions..
在软件工程中有一种正在进行的从面向对象到面向代理的范式转变。我们回顾了其中的一些原因,并简要概述了面向代理的软件工程(Agent-Oriented Software Engineering, ase)的最新技术。然后,我们概述了一些关于自主软件、软件监控和诊断以及需求演变的长期研究线索。此外,我们讨论了这项研究可能对未来如何进行软件维护和再工程产生的影响。这项研究报告是与多伦多大学、特伦托大学和其他一些学术机构的同事合作的结果。
{"title":"Software Maintenance and Reengineering in the Days of Software Agents","authors":"J. Mylopoulos","doi":"10.1109/CSMR.2008.4493293","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493293","url":null,"abstract":"There is an ongoing paradigm shift in Software Engineering from object-orientation to agent-orientation. We review some of the reasons for this, and briefly overview the state-of-the-art in Agent-Oriented Software Engineering (AOSE). We then sketch some threads of long-term research on autonomic software, software monitoring and diagnosis, and requirements evolution. In addition, we discuss the impact this research may have on how software maintenance and reengineering is done in the future. The research reported is the result of collaborations with colleagues at the Universities of Toronto, Trento and a number of other academic institutions..","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"64 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":"130581708","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}
引用次数: 1
A Systematic Literature Review of Approaches to Reengineering for Multi-Channel Access 多通道接入流程再造方法的系统文献综述
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493322
C. Jefferies, P. Brereton, M. Turner
The increasing power of mobile devices means that companies and institutions can now look to exposing their systems to these devices. As part of a research project, we need to re-engineer a system to expose it 'as a service' in order to enable access by multiple devices. The aim of this study was to identify approaches to the re-engineering of systems to provide multichannel service-oriented access. A systematic literature review was performed to gather relevant information. We found fifteen methods of service-oriented re-engineering, two methods of re-engineering for multichannel access plus a set of problems that had been identified during the re-engineering activities. The two methods found did not meet our needs. The verbosity of Web-services and the limitations of mobile access is an issue that needs further investigation.
移动设备的日益强大意味着公司和机构现在可以考虑将他们的系统暴露在这些设备上。作为研究项目的一部分,我们需要重新设计一个系统,将其“作为服务”公开,以便允许多个设备访问。本研究的目的是确定系统再工程的方法,以提供多渠道面向服务的访问。我们进行了系统的文献综述以收集相关信息。我们发现了15种面向服务的再工程方法,两种针对多通道访问的再工程方法,以及在再工程活动期间发现的一组问题。找到的两种方法都不能满足我们的需要。web服务的冗长性和移动访问的局限性是一个需要进一步研究的问题。
{"title":"A Systematic Literature Review of Approaches to Reengineering for Multi-Channel Access","authors":"C. Jefferies, P. Brereton, M. Turner","doi":"10.1109/CSMR.2008.4493322","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493322","url":null,"abstract":"The increasing power of mobile devices means that companies and institutions can now look to exposing their systems to these devices. As part of a research project, we need to re-engineer a system to expose it 'as a service' in order to enable access by multiple devices. The aim of this study was to identify approaches to the re-engineering of systems to provide multichannel service-oriented access. A systematic literature review was performed to gather relevant information. We found fifteen methods of service-oriented re-engineering, two methods of re-engineering for multichannel access plus a set of problems that had been identified during the re-engineering activities. The two methods found did not meet our needs. The verbosity of Web-services and the limitations of mobile access is an issue that needs further investigation.","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":"125900797","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}
引用次数: 8
Reverse Engineering of Aspect Oriented Systems to Support their Comprehension, Evolution, Testing and Assessment 面向方面系统的逆向工程,以支持它们的理解、演化、测试和评估
Pub Date : 2008-04-01 DOI: 10.1109/CSMR.2008.4493329
M. Bernardi
Aspect oriented programming (AOP) supports the cross-cutting of concerns by means of aspects. The comprehension, maintenance and testing of AO systems may be more difficult than traditional ones, due to the large impact that aspects have on the static structure and dynamic behavior of the overall system. This thesis proposes the following main contributions to address these open issues: (i) an inter-procedural aspect control flow graph (IACFG) representing the interactions among the aspects and the object oriented (OO) components of an AO system; (ii) an approach to perform structural testing of aspect oriented programs based on a fault model specific to aspect oriented programs and on a set of coverage criteria referring IACFG; (iii) a metric model and a source code analysis algorithm in order to identify aspects with high level of impact and complexity in AOP systems. Several experiments were conducted in order to evaluate effectiveness of the proposed approaches.
面向方面编程(AOP)通过方面支持关注点的横切。由于各个方面对整个系统的静态结构和动态行为有很大的影响,因此对AO系统的理解、维护和测试可能比传统系统更加困难。本文提出了以下主要贡献来解决这些开放问题:(i)一个过程间方面控制流图(IACFG),表示面向对象(OO)的面向对象(面向对象)组件之间的交互;(ii)基于面向方面的程序特有的故障模型和参考IACFG的一套覆盖标准,对面向方面的程序进行结构测试的方法;(iii)一个度量模型和一个源代码分析算法,以便识别AOP系统中具有高度影响和复杂性的方面。为了评估所提出的方法的有效性,进行了几个实验。
{"title":"Reverse Engineering of Aspect Oriented Systems to Support their Comprehension, Evolution, Testing and Assessment","authors":"M. Bernardi","doi":"10.1109/CSMR.2008.4493329","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493329","url":null,"abstract":"Aspect oriented programming (AOP) supports the cross-cutting of concerns by means of aspects. The comprehension, maintenance and testing of AO systems may be more difficult than traditional ones, due to the large impact that aspects have on the static structure and dynamic behavior of the overall system. This thesis proposes the following main contributions to address these open issues: (i) an inter-procedural aspect control flow graph (IACFG) representing the interactions among the aspects and the object oriented (OO) components of an AO system; (ii) an approach to perform structural testing of aspect oriented programs based on a fault model specific to aspect oriented programs and on a set of coverage criteria referring IACFG; (iii) a metric model and a source code analysis algorithm in order to identify aspects with high level of impact and complexity in AOP systems. Several experiments were conducted in order to evaluate effectiveness of the proposed approaches.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"21 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":"129718545","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}
引用次数: 10
期刊
2008 12th European Conference on Software Maintenance and Reengineering
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1