首页 > 最新文献

2010 IEEE International Conference on Software Maintenance最新文献

英文 中文
Hidden dependencies in software systems 软件系统中隐藏的依赖关系
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609657
R. Vanciu, V. Rajlich
In this paper, we study the hidden dependencies that are a special kind of data flows. They play an important role in software maintenance and evolution because they propagate changes among the classes and they are hard to detect. We propose a technique that finds hidden dependencies through the computation of an “execute completely after” relation that is filtered using dynamically generated preconditions and postconditions. We show that these hidden dependencies exist even in well-structured software, like the open source programs JUnit, Drawlets, and Apache FtpServer. We also discuss the precision of this technique.
本文研究了一种特殊类型的数据流——隐性依赖关系。它们在软件维护和发展中扮演着重要的角色,因为它们在类之间传播更改,并且很难检测到。我们提出了一种技术,通过计算使用动态生成的前置条件和后置条件过滤的“完全执行”关系来发现隐藏的依赖关系。我们展示了这些隐藏的依赖关系甚至存在于结构良好的软件中,比如开放源码程序JUnit、Drawlets和Apache FtpServer。我们还讨论了这种技术的精确性。
{"title":"Hidden dependencies in software systems","authors":"R. Vanciu, V. Rajlich","doi":"10.1109/ICSM.2010.5609657","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609657","url":null,"abstract":"In this paper, we study the hidden dependencies that are a special kind of data flows. They play an important role in software maintenance and evolution because they propagate changes among the classes and they are hard to detect. We propose a technique that finds hidden dependencies through the computation of an “execute completely after” relation that is filtered using dynamically generated preconditions and postconditions. We show that these hidden dependencies exist even in well-structured software, like the open source programs JUnit, Drawlets, and Apache FtpServer. We also discuss the precision of this technique.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134486740","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}
引用次数: 21
Domain-based change propagation analysis: An enterprise system case study 基于域的变更传播分析:一个企业系统案例研究
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609743
Amir Aryani, I. Peake, M. Hamilton
Change propagation has mainly been estimated by maintenance history or source code analysis. However, sometimes history and code are inaccessible, or impractical to analyse, such as for heterogeneous sources.
变更传播主要是通过维护历史或源代码分析来估计的。然而,有时历史和代码是不可访问的,或者分析起来不切实际,例如对于异构源。
{"title":"Domain-based change propagation analysis: An enterprise system case study","authors":"Amir Aryani, I. Peake, M. Hamilton","doi":"10.1109/ICSM.2010.5609743","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609743","url":null,"abstract":"Change propagation has mainly been estimated by maintenance history or source code analysis. However, sometimes history and code are inaccessible, or impractical to analyse, such as for heterogeneous sources.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124670830","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}
引用次数: 21
Teaching undergraduate software engineering 软件工程本科教学
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609587
V. Rajlich
During the last decade, software engineering changed rapidly, from the emphasis on waterfall lifecycle to the emphasis on software evolution and agile programming. This tutorial provides a brief introduction and overview of the results of this development. It presents agile programming, Personal and Team Software Process, software change, concept location, refactoring, and so forth. The organizing principle is an outline of an undergraduate software engineering course that is based on these results. The audience interested in this tutorial may be teachers of software engineering, and also software practitioners who want learn how these results fit together and how to apply them in software projects.
在过去的十年中,软件工程发生了迅速的变化,从强调瀑布生命周期到强调软件进化和敏捷编程。本教程简要介绍和概述了该开发的结果。它介绍了敏捷编程、个人和团队软件过程、软件变更、概念定位、重构等等。组织原则是基于这些结果的本科软件工程课程大纲。对本教程感兴趣的读者可能是软件工程的教师,也可能是想要了解这些结果如何组合在一起以及如何将它们应用于软件项目的软件从业者。
{"title":"Teaching undergraduate software engineering","authors":"V. Rajlich","doi":"10.1109/ICSM.2010.5609587","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609587","url":null,"abstract":"During the last decade, software engineering changed rapidly, from the emphasis on waterfall lifecycle to the emphasis on software evolution and agile programming. This tutorial provides a brief introduction and overview of the results of this development. It presents agile programming, Personal and Team Software Process, software change, concept location, refactoring, and so forth. The organizing principle is an outline of an undergraduate software engineering course that is based on these results. The audience interested in this tutorial may be teachers of software engineering, and also software practitioners who want learn how these results fit together and how to apply them in software projects.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125137382","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}
引用次数: 2
MooseJEE: A moose extension to enable the assessment of JEAs MooseJEE:用于评估JEAs的moose扩展
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609569
F. Perin
Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. With the purpose to support the analysis of JEAs we have developed MooseJEE an extension of the Moose environment capable to model the typical elements of JEAs.
Java企业应用程序(JEAs)是集成了多种技术和编程语言的大型系统。为了支持对JEAs的分析,我们开发了MooseJEE,这是Moose环境的扩展,能够对JEAs的典型元素进行建模。
{"title":"MooseJEE: A moose extension to enable the assessment of JEAs","authors":"F. Perin","doi":"10.1109/ICSM.2010.5609569","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609569","url":null,"abstract":"Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. With the purpose to support the analysis of JEAs we have developed MooseJEE an extension of the Moose environment capable to model the typical elements of JEAs.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"149 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117304805","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}
引用次数: 9
Static analysis for enforcing intra-thread consistent locks in the migration of a legacy system 用于在迁移遗留系统时强制执行线程内一致锁的静态分析
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609727
M. Ceccato, P. Tonella
Often, legacy data management systems provide no native support to transactions. Programmers protect data from concurrent access by adopting commonly agreed patterns, relying on low level concurrency primitives, such as semaphores. In such cases, consistent data access is granted only if all code components are compliant with the adopted mutual exclusion patterns.
通常,遗留数据管理系统不提供对事务的本地支持。程序员通过采用普遍同意的模式来保护数据不受并发访问,这种模式依赖于低级并发原语,比如信号量。在这种情况下,只有当所有代码组件都符合所采用的互斥模式时,才能授予一致的数据访问权。
{"title":"Static analysis for enforcing intra-thread consistent locks in the migration of a legacy system","authors":"M. Ceccato, P. Tonella","doi":"10.1109/ICSM.2010.5609727","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609727","url":null,"abstract":"Often, legacy data management systems provide no native support to transactions. Programmers protect data from concurrent access by adopting commonly agreed patterns, relying on low level concurrency primitives, such as semaphores. In such cases, consistent data access is granted only if all code components are compliant with the adopted mutual exclusion patterns.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117033348","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
Verifying the design of an outsourced COBOL system with IntensiVE 用IntensiVE验证外包COBOL系统的设计
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609534
Andy Kellens, Carlos Noguera, T. D'Hondt, Luc Jorissen, Bart Van Passel
Companies nowadays rely on outsourcing for the implementation of their software. While outsourcing can reduce the actual development costs for a piece of software, it can also reduce a company's control over the quality of the delivered software. In light of obtaining maintainable software, it is however important that the delivered software is well-structured and obeys the various design rules that were postulated by a company using an outsourcing partner. This paper reports on a collaboration between academia and industry, where the research tool IntensiVE has been applied to verify the design rules underlying a large-scale COBOL system. We describe how the IntensiVE tool was customized in order to support verification of the COBOL system, and how this academic tool aided in providing an initial quality assessment of the outsourced software system.
现在的公司依靠外包来实现他们的软件。虽然外包可以减少软件的实际开发成本,但它也可以减少公司对交付软件质量的控制。然而,为了获得可维护的软件,交付的软件结构良好并遵守由公司使用外包合作伙伴所假定的各种设计规则是很重要的。本文报告了学术界和工业界之间的合作,其中应用了研究工具IntensiVE来验证大型COBOL系统底层的设计规则。我们描述了如何定制IntensiVE工具以支持COBOL系统的验证,以及这个学术工具如何帮助提供外包软件系统的初始质量评估。
{"title":"Verifying the design of an outsourced COBOL system with IntensiVE","authors":"Andy Kellens, Carlos Noguera, T. D'Hondt, Luc Jorissen, Bart Van Passel","doi":"10.1109/ICSM.2010.5609534","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609534","url":null,"abstract":"Companies nowadays rely on outsourcing for the implementation of their software. While outsourcing can reduce the actual development costs for a piece of software, it can also reduce a company's control over the quality of the delivered software. In light of obtaining maintainable software, it is however important that the delivered software is well-structured and obeys the various design rules that were postulated by a company using an outsourcing partner. This paper reports on a collaboration between academia and industry, where the research tool IntensiVE has been applied to verify the design rules underlying a large-scale COBOL system. We describe how the IntensiVE tool was customized in order to support verification of the COBOL system, and how this academic tool aided in providing an initial quality assessment of the outsourced software system.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129594770","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}
引用次数: 0
A framework for the evaluation of specification miners based on finite state machines 基于有限状态机的规范矿工评价框架
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609576
Michael Pradel, Philipp Bichsel, T. Gross
Software maintenance tasks, such as testing and program understanding, can benefit from formal specifications that describe how a program should use an API. Recently, there has been increasing interest in specification miners that automatically extract finite state specifications of method ordering constraints from existing software. However, comparing different mining approaches is difficult, because no common ground to evaluate the effectiveness of specification miners has been established yet. We present a framework for evaluating to which extent specification miners find valid finite state descriptions of API usage constraints. The framework helps in creating reference specifications and includes metrics to compare mined specifications to the reference specifications. The metrics are tailored for evaluating specification miners and account for imprecision and incompleteness in mined specifications. We use the framework to compare the effectiveness of three mining approaches and to show their respective benefits.
软件维护任务,例如测试和程序理解,可以从描述程序应该如何使用API的正式规范中受益。最近,人们对从现有软件中自动提取方法排序约束的有限状态规范的规范挖掘越来越感兴趣。然而,比较不同的挖掘方法是困难的,因为还没有建立共同的基础来评估规范矿工的有效性。我们提出了一个框架,用于评估规范矿工在多大程度上找到API使用约束的有效有限状态描述。该框架有助于创建参考规范,并包括将挖掘的规范与参考规范进行比较的度量。这些指标是为评估规范挖掘者而定制的,并考虑了挖掘规范中的不精确和不完整。我们使用该框架来比较三种挖掘方法的有效性,并显示它们各自的好处。
{"title":"A framework for the evaluation of specification miners based on finite state machines","authors":"Michael Pradel, Philipp Bichsel, T. Gross","doi":"10.1109/ICSM.2010.5609576","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609576","url":null,"abstract":"Software maintenance tasks, such as testing and program understanding, can benefit from formal specifications that describe how a program should use an API. Recently, there has been increasing interest in specification miners that automatically extract finite state specifications of method ordering constraints from existing software. However, comparing different mining approaches is difficult, because no common ground to evaluate the effectiveness of specification miners has been established yet. We present a framework for evaluating to which extent specification miners find valid finite state descriptions of API usage constraints. The framework helps in creating reference specifications and includes metrics to compare mined specifications to the reference specifications. The metrics are tailored for evaluating specification miners and account for imprecision and incompleteness in mined specifications. We use the framework to compare the effectiveness of three mining approaches and to show their respective benefits.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126443317","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}
引用次数: 69
Fuzzy set approach for automatic tagging in evolving software 进化软件自动标注的模糊集方法
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609751
Jafar M. Al-Kofahi, Ahmed Tamrawi, T. Nguyen, H. Nguyen, T. Nguyen
Software tagging has been shown to be an efficient, lightweight social computing mechanism to improve different social and technical aspects of software development. Despite the importance of tags, there exists limited support for automatic tagging for software artifacts, especially during the evolutionary process of software development. We conducted an empirical study on IBM Jazz's repository and found that there are several missing tags in artifacts and more precise tags are desirable. This paper introduces a novel, accurate, automatic tagging recommendation tool that is able to take into account users' feedbacks on tags, and is very efficient in coping with software evolution. The core technique is an automatic tagging algorithm that is based on fuzzy set theory. Our empirical evaluation on the real-world IBM Jazz project shows the usefulness and accuracy of our approach and tool.
软件标签已被证明是一种高效、轻量级的社会计算机制,可以改善软件开发的不同社会和技术方面。尽管标签很重要,但是对软件工件的自动标记的支持有限,特别是在软件开发的进化过程中。我们对IBM Jazz的存储库进行了实证研究,发现工件中有几个缺失的标记,需要更精确的标记。本文介绍了一种新颖、准确、自动的标签推荐工具,该工具能够考虑用户对标签的反馈,并且能够非常有效地应对软件的进化。其核心技术是基于模糊集理论的自动标注算法。我们对实际IBM Jazz项目的经验评估显示了我们的方法和工具的有用性和准确性。
{"title":"Fuzzy set approach for automatic tagging in evolving software","authors":"Jafar M. Al-Kofahi, Ahmed Tamrawi, T. Nguyen, H. Nguyen, T. Nguyen","doi":"10.1109/ICSM.2010.5609751","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609751","url":null,"abstract":"Software tagging has been shown to be an efficient, lightweight social computing mechanism to improve different social and technical aspects of software development. Despite the importance of tags, there exists limited support for automatic tagging for software artifacts, especially during the evolutionary process of software development. We conducted an empirical study on IBM Jazz's repository and found that there are several missing tags in artifacts and more precise tags are desirable. This paper introduces a novel, accurate, automatic tagging recommendation tool that is able to take into account users' feedbacks on tags, and is very efficient in coping with software evolution. The core technique is an automatic tagging algorithm that is based on fuzzy set theory. Our empirical evaluation on the real-world IBM Jazz project shows the usefulness and accuracy of our approach and tool.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132946607","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}
引用次数: 35
Physical and conceptual identifier dispersion: Measures and relation to fault proneness 物理和概念标识符分散:测量和与故障倾向性的关系
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609748
V. Arnaoudova, L. Eshkevari, R. Oliveto, Yann-Gaël Guéhéneuc, G. Antoniol
Poorly-chosen identifiers have been reported in the literature as misleading and increasing the program comprehension effort. Identifiers are composed of terms, which can be dictionary words, acronyms, contractions, or simple strings. We conjecture that the use of identical terms in different contexts may increase the risk of faults. We investigate our conjecture using a measure combining term entropy and term context coverage to study whether certain terms increase the odds ratios of methods to be fault-prone. Entropy measures the physical dispersion of terms in a program: the higher the entropy, the more scattered across the program the terms. Context coverage measures the conceptual dispersion of terms: the higher their context coverage, the more unrelated the methods using them. We compute term entropy and context coverage of terms extracted from identifiers in Rhino 1.4R3 and ArgoUML 0.16. We show statistically that methods containing terms with high entropy and context coverage are more fault-prone than others.
在文献中有报道称,选择不当的标识符会产生误导,并增加程序理解的工作量。标识符由术语组成,这些术语可以是字典中的单词、缩写词、缩略词或简单的字符串。我们推测,在不同的上下文中使用相同的术语可能会增加出错的风险。我们使用术语熵和术语上下文覆盖率相结合的度量来调查我们的猜想,以研究某些术语是否会增加方法容易出错的几率比。熵度量程序中项的物理分散:熵越高,项在程序中的分散程度越高。上下文覆盖度量术语的概念分散:它们的上下文覆盖越高,使用它们的方法就越不相关。我们在Rhino 1.4R3和ArgoUML 0.16中计算从标识符中提取的术语的术语熵和上下文覆盖率。我们在统计上表明,包含具有高熵和上下文覆盖的术语的方法比其他方法更容易出错。
{"title":"Physical and conceptual identifier dispersion: Measures and relation to fault proneness","authors":"V. Arnaoudova, L. Eshkevari, R. Oliveto, Yann-Gaël Guéhéneuc, G. Antoniol","doi":"10.1109/ICSM.2010.5609748","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609748","url":null,"abstract":"Poorly-chosen identifiers have been reported in the literature as misleading and increasing the program comprehension effort. Identifiers are composed of terms, which can be dictionary words, acronyms, contractions, or simple strings. We conjecture that the use of identical terms in different contexts may increase the risk of faults. We investigate our conjecture using a measure combining term entropy and term context coverage to study whether certain terms increase the odds ratios of methods to be fault-prone. Entropy measures the physical dispersion of terms in a program: the higher the entropy, the more scattered across the program the terms. Context coverage measures the conceptual dispersion of terms: the higher their context coverage, the more unrelated the methods using them. We compute term entropy and context coverage of terms extracted from identifiers in Rhino 1.4R3 and ArgoUML 0.16. We show statistically that methods containing terms with high entropy and context coverage are more fault-prone than others.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"39 10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133171586","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}
引用次数: 35
History-sensitive recovery of product line features 产品线特性的历史敏感恢复
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609561
Camila Nunes, Alessandro F. Garcia, C. Lucena
Since software product lines (SPLs) increasingly have to satisfy additional requirements, their designs might degenerate over time. The degeneration is caused by various reasons. For instance, the features suddenly start to be realized and they evolved in inconsistent ways across multiple products. In an extreme case, the SPL code is fully or partially replicated and individually changed across several evolving products. In order to regain control of the SPL assets, a key activity is the design recovery of features from existing applications. However, existing techniques for feature analysis are not effective as they tend to explicitly rely on a single project history. They do not take into consideration change histories of features across multiple evolving products of a SPL. This research proposes a novel technique for history-sensitive feature recovery while repairing degenerated SPL designs. Our technique is ought to encompass a set of heuristics for facilitating SPL design recovery. We aim at investigating to what extent exploiting multi-product change histories allow accurate identification of: (i) code elements that contribute to each feature realization; and (ii) variability properties of the feature code. The empirical evaluation of our technique will be based on two industry case studies.
由于软件产品线(SPLs)越来越需要满足额外的需求,它们的设计可能会随着时间的推移而退化。退化是由各种原因引起的。例如,功能突然开始实现,并且在多个产品中以不一致的方式发展。在极端情况下,SPL代码被完全或部分复制,并在几个不断发展的产品中单独更改。为了重新获得对SPL资产的控制,一个关键的活动是从现有应用程序中设计恢复功能。然而,现有的特性分析技术并不有效,因为它们倾向于明确地依赖于单个项目的历史。它们没有考虑到一个SPL的多个演进产品之间的特性变更历史。本研究提出了一种修复退化SPL设计时历史敏感特征恢复的新技术。我们的技术应该包含一组启发式方法,以促进SPL设计恢复。我们的目标是调查在多大程度上利用多产品变更历史允许准确识别:(i)有助于每个功能实现的代码元素;(ii)特征码的可变性。我们的技术的实证评估将基于两个行业案例研究。
{"title":"History-sensitive recovery of product line features","authors":"Camila Nunes, Alessandro F. Garcia, C. Lucena","doi":"10.1109/ICSM.2010.5609561","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609561","url":null,"abstract":"Since software product lines (SPLs) increasingly have to satisfy additional requirements, their designs might degenerate over time. The degeneration is caused by various reasons. For instance, the features suddenly start to be realized and they evolved in inconsistent ways across multiple products. In an extreme case, the SPL code is fully or partially replicated and individually changed across several evolving products. In order to regain control of the SPL assets, a key activity is the design recovery of features from existing applications. However, existing techniques for feature analysis are not effective as they tend to explicitly rely on a single project history. They do not take into consideration change histories of features across multiple evolving products of a SPL. This research proposes a novel technique for history-sensitive feature recovery while repairing degenerated SPL designs. Our technique is ought to encompass a set of heuristics for facilitating SPL design recovery. We aim at investigating to what extent exploiting multi-product change histories allow accurate identification of: (i) code elements that contribute to each feature realization; and (ii) variability properties of the feature code. The empirical evaluation of our technique will be based on two industry case studies.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"204 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133668850","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}
引用次数: 4
期刊
2010 IEEE International Conference on Software Maintenance
全部 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