symfinder:用于识别和可视化面向对象可变性实现的工具链

Johann Mortara, Xhevahire Tërnava, P. Collet
{"title":"symfinder:用于识别和可视化面向对象可变性实现的工具链","authors":"Johann Mortara, Xhevahire Tërnava, P. Collet","doi":"10.1145/3307630.3342394","DOIUrl":null,"url":null,"abstract":"When variability is implemented into a single variability-rich system with object-oriented techniques (e.g., inheritance, overloading, design patterns), the variation points and variants usually do not align with the domain features. It is then very hard and time consuming to manually identify these variation points to manage variability at the implementation level. symfinder is a toolchain to automatically identify and visualize these variability implementation locations inside a single object-oriented code base. For the identification part, it relies on the notion of symmetry between classes or methods to characterize uniformly some implementation techniques such as inheritance, overloading, or design patterns like Factory. The toolchain also generates an interactive Web-based visualization in which classes that are variation points are nodes linked together through their inheritance relationships, while the size, color, and texture of the nodes are used to represent some metrics on the number of overloaded constructors or methods. As a result, the visualization enables one to discern zones of interest where variation points are strongly present and to get relevant information over concerned classes. The toolchain, publicly available with its source code and an online demo, has been applied to several large open source projects.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"symfinder: A Toolchain for the Identification and Visualization of Object-Oriented Variability Implementations\",\"authors\":\"Johann Mortara, Xhevahire Tërnava, P. Collet\",\"doi\":\"10.1145/3307630.3342394\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"When variability is implemented into a single variability-rich system with object-oriented techniques (e.g., inheritance, overloading, design patterns), the variation points and variants usually do not align with the domain features. It is then very hard and time consuming to manually identify these variation points to manage variability at the implementation level. symfinder is a toolchain to automatically identify and visualize these variability implementation locations inside a single object-oriented code base. For the identification part, it relies on the notion of symmetry between classes or methods to characterize uniformly some implementation techniques such as inheritance, overloading, or design patterns like Factory. The toolchain also generates an interactive Web-based visualization in which classes that are variation points are nodes linked together through their inheritance relationships, while the size, color, and texture of the nodes are used to represent some metrics on the number of overloaded constructors or methods. As a result, the visualization enables one to discern zones of interest where variation points are strongly present and to get relevant information over concerned classes. The toolchain, publicly available with its source code and an online demo, has been applied to several large open source projects.\",\"PeriodicalId\":424711,\"journal\":{\"name\":\"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B\",\"volume\":\"47 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-09-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3307630.3342394\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3307630.3342394","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

摘要

当可变性用面向对象的技术(例如,继承、重载、设计模式)实现到单个可变性丰富的系统中时,可变点和变体通常与领域特征不一致。然后,手动识别这些变化点以在实现级别管理可变性是非常困难和耗时的。Symfinder是一个工具链,用于自动识别和可视化单个面向对象代码库中这些可变性的实现位置。对于标识部分,它依赖于类或方法之间的对称概念来统一描述一些实现技术,如继承、重载或像Factory这样的设计模式。工具链还生成一个交互式的基于web的可视化,其中作为变化点的类是通过它们的继承关系链接在一起的节点,而节点的大小、颜色和纹理用于表示重载构造函数或方法数量的一些度量。因此,可视化使人们能够辨别出变化点强烈存在的兴趣区域,并获得有关类的相关信息。该工具链的源代码和在线演示都是公开的,已经应用于几个大型开源项目。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
symfinder: A Toolchain for the Identification and Visualization of Object-Oriented Variability Implementations
When variability is implemented into a single variability-rich system with object-oriented techniques (e.g., inheritance, overloading, design patterns), the variation points and variants usually do not align with the domain features. It is then very hard and time consuming to manually identify these variation points to manage variability at the implementation level. symfinder is a toolchain to automatically identify and visualize these variability implementation locations inside a single object-oriented code base. For the identification part, it relies on the notion of symmetry between classes or methods to characterize uniformly some implementation techniques such as inheritance, overloading, or design patterns like Factory. The toolchain also generates an interactive Web-based visualization in which classes that are variation points are nodes linked together through their inheritance relationships, while the size, color, and texture of the nodes are used to represent some metrics on the number of overloaded constructors or methods. As a result, the visualization enables one to discern zones of interest where variation points are strongly present and to get relevant information over concerned classes. The toolchain, publicly available with its source code and an online demo, has been applied to several large open source projects.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信