首页> 外文期刊>Information and software technology >Package Fingerprints: A visual summary of package interface usage
【24h】

Package Fingerprints: A visual summary of package interface usage

机译:软件包指纹:软件包界面使用情况的直观摘要

获取原文
获取原文并翻译 | 示例
           

摘要

Context: Object-oriented languages such as Java, Smalltalk, and C++ structure their programs using packages. Maintainers of large systems need to understand how packages relate to each other, but this task is complex because packages often have multiple clients and play different roles (class container, code ownership, etc.)- Several approaches have been proposed, among which the use of cohesion and coupling metrics. Such metrics help identify candidate packages for restructuring; however, they do not help maintainers actually understand the structure and interrelationships between packages. Objectives: In this paper, we use pre-attentive processing as the basis for package visualization and see to what extent it could be used in package understanding.rnMethod: We present the Package Fingerprint, a 2D visualization of the references made to and from a package. The proposed visualization offers a semantically rich, but compact and zoomable views centered on packages. We focus on two views (incoming and outgoing references) that help users understand how the package under analysis is used by the system and how it uses the system. Results: We applied these views on four large systems: Squeak, JBoss, Azureus, and ArgoUML. We obtained several interesting results, among which, the identification of a set of recurring visual patterns that help maintainers: (a) more easily identify the role of and the way a package is used within the system (e.g., the package under analysis provides a set of layered services), and (b) detect either problematic situations (e.g., a single package that groups together a large number of basic services) or opportunities for better package restructuring (e.g., removing cyclic dependencies among packages). The visualization generally scaled well and the detection of different patterns was always possible. Conclusion: The proposed visualizations and patterns proved to be useful in understanding and maintaining the different systems we addressed. To generalize to other contexts and systems, a real user study is required.
机译:上下文:诸如Java,Smalltalk和C ++之类的面向对象语言使用程序包来构造其程序。大型系统的维护者需要了解软件包之间的相互关系,但是此任务很复杂,因为软件包通常具有多个客户端并扮演不同的角色(类容器,代码所有权等)。已提出了几种方法,其中包括凝聚力和耦合指标。这些度量标准有助于确定要重组的候选程序包;但是,它们并不能帮助维护人员真正了解软件包之间的结构和相互关系。目标:在本文中,我们将注意力集中的处理用作包装可视化的基础,并查看可以在多大程度上理解包装。rn方法:我们展示了包装指纹,即二维指纹的二维可视化。包。所提出的可视化提供了以包为中心的语义丰富但紧凑且可缩放的视图。我们专注于两个视图(传入引用和传出引用),这些视图可帮助用户了解所分析的软件包如何被系统使用以及如何使用系统。结果:我们在四个大型系统上应用了这些视图:Squeak,JBoss,Azureus和ArgoUML。我们获得了一些有趣的结果,其中,确定了一组有助于维护人员的重复视觉模式:(a)更容易地确定包在系统中的作用和使用方式(例如,所分析的包提供了一组分层服务),以及(b)检测有问题的情况(例如,将大量基本服务组合在一起的单个程序包)或更好的程序包重组的机会(例如,删除程序包之间的循环依赖性)。可视化通常可以很好地缩放,并且始终可以检测到不同的模式。结论:提出的可视化和模式被证明有助于理解和维护我们所解决的不同系统。为了推广到其他环境和系统,需要进行实际的用户研究。

著录项

  • 来源
    《Information and software technology》 |2010年第12期|p.1312-1330|共19页
  • 作者单位

    RMoD, INRLA Lille Nord Europe/USTL UFL/CNRS UMR 8022 - 40 Avenue Hslley, 59650 Vilteneuve d'Ascq, France;

    rnRMoD, INRLA Lille Nord Europe/USTL UFL/CNRS UMR 8022 - 40 Avenue Hslley, 59650 Vilteneuve d'Ascq, France;

    rnRMoD, INRLA Lille Nord Europe/USTL UFL/CNRS UMR 8022 - 40 Avenue Hslley, 59650 Vilteneuve d'Ascq, France;

    rnListic, Polytech'Savoie - 5, chemin de Bellevue. Domaine universitaire d'Annecy-Le-Vieux. France;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    software package visualization cohesion coupling;

    机译:软件包可视化内聚耦合;

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号