演化程序族代码特征恢复的历史敏感启发式方法

Camila Nunes, Alessandro F. Garcia, C. Lucena, Jaejoon Lee
{"title":"演化程序族代码特征恢复的历史敏感启发式方法","authors":"Camila Nunes, Alessandro F. Garcia, C. Lucena, Jaejoon Lee","doi":"10.1145/2362536.2362556","DOIUrl":null,"url":null,"abstract":"A program family might degenerate due to unplanned changes in its implementation, thus hindering the maintenance of family members. This degeneration is often induced by feature code that is changed individually in each member without considering other family members. Hence, as a program family evolves over time, it might no longer be possible to distinguish between common and variable features. One of the imminent activities to address this problem is the history-sensitive recovery of program family's features in the code. This recovery process encompasses the analysis of the evolution history of each family member in order to classify the implementation elements according to their variability nature. In this context, this paper proposes history-sensitive heuristics for the recovery of features in code of degenerate program families. Once the analysis of the family history is carried out, the feature elements are structured as Java project packages; they are intended to separate those elements in terms of their variability degree. The proposed heuristics are supported by a prototype tool called RecFeat. We evaluated the accuracy of the heuristics in the context of 33 versions of 2 industry program families. They presented encouraging results regarding recall measures that ranged from 85% to 100%; whereas the precision measures ranged from 71% to 99%.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":"{\"title\":\"History-sensitive heuristics for recovery of features in code of evolving program families\",\"authors\":\"Camila Nunes, Alessandro F. Garcia, C. Lucena, Jaejoon Lee\",\"doi\":\"10.1145/2362536.2362556\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A program family might degenerate due to unplanned changes in its implementation, thus hindering the maintenance of family members. This degeneration is often induced by feature code that is changed individually in each member without considering other family members. Hence, as a program family evolves over time, it might no longer be possible to distinguish between common and variable features. One of the imminent activities to address this problem is the history-sensitive recovery of program family's features in the code. This recovery process encompasses the analysis of the evolution history of each family member in order to classify the implementation elements according to their variability nature. In this context, this paper proposes history-sensitive heuristics for the recovery of features in code of degenerate program families. Once the analysis of the family history is carried out, the feature elements are structured as Java project packages; they are intended to separate those elements in terms of their variability degree. The proposed heuristics are supported by a prototype tool called RecFeat. We evaluated the accuracy of the heuristics in the context of 33 versions of 2 industry program families. They presented encouraging results regarding recall measures that ranged from 85% to 100%; whereas the precision measures ranged from 71% to 99%.\",\"PeriodicalId\":339444,\"journal\":{\"name\":\"Software Product Lines Conference\",\"volume\":\"23 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-09-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"11\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Software Product Lines Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2362536.2362556\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software Product Lines Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2362536.2362556","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11

摘要

一个程序族可能由于其实现中的计划外变更而退化,从而阻碍了对家庭成员的维护。这种退化通常是由特征代码引起的,这些特征代码在每个成员中单独改变,而不考虑其他家族成员。因此,随着时间的推移,随着程序族的发展,可能不再能够区分公共和可变的特性。解决这个问题的迫在眉睫的活动之一是对代码中程序族特性的历史敏感恢复。这一恢复过程包括分析每个家庭成员的演变历史,以便根据其可变性对执行要素进行分类。在此背景下,本文提出了一种历史敏感的启发式方法来恢复退化程序族代码中的特征。一旦对家族历史进行了分析,特性元素就被结构化为Java项目包;它们的目的是根据它们的可变性程度来分离这些元素。提出的启发式方法由一个名为RecFeat的原型工具支持。我们在2个行业程序族的33个版本的背景下评估了启发式的准确性。他们提出了令人鼓舞的召回结果,召回率从85%到100%不等;而精确度则在71%到99%之间。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
History-sensitive heuristics for recovery of features in code of evolving program families
A program family might degenerate due to unplanned changes in its implementation, thus hindering the maintenance of family members. This degeneration is often induced by feature code that is changed individually in each member without considering other family members. Hence, as a program family evolves over time, it might no longer be possible to distinguish between common and variable features. One of the imminent activities to address this problem is the history-sensitive recovery of program family's features in the code. This recovery process encompasses the analysis of the evolution history of each family member in order to classify the implementation elements according to their variability nature. In this context, this paper proposes history-sensitive heuristics for the recovery of features in code of degenerate program families. Once the analysis of the family history is carried out, the feature elements are structured as Java project packages; they are intended to separate those elements in terms of their variability degree. The proposed heuristics are supported by a prototype tool called RecFeat. We evaluated the accuracy of the heuristics in the context of 33 versions of 2 industry program families. They presented encouraging results regarding recall measures that ranged from 85% to 100%; whereas the precision measures ranged from 71% to 99%.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信