创新背景
大型代码库越来越复杂,开发的功能取决于各种元素,例如使用环境或硬件平台。这使得开发人员很难理解实现的不同功能。
创新过程
软件系统日益复杂要求它们进行非常精确的配置,以避免破坏性错误。操作系统、硬件平台和用户的高度多样性也意味着所提供的功能非常多样化。现在,大多数软件都可以配置为通过允许用户选择其功能来提供量身定制的服务。
软件是逐步开发的,而这些功能与实现它们的代码中的各种元素无关。例如,对于大多数用面向对象语言(如Java或C++)编写的系统使用与用于构建代码的机制相同的机制来管理其可变性(类之间的继承、设计模式、方法重载)。因此,实现功能的代码部分不是显式的,因为它们与这些机制混合在一起。然后,在大型源代码中手动识别它们非常复杂。
VariCity 依赖于可变性实现机制指标的计算,将它们可视化为代表代码库的城市。这个比喻已经用于理解代码的质量,其中包含一类对象(例如建筑物)和视觉元素(例如建筑物的大小和颜色),以轻松显示质量较低的区域。通过调整城市的组织以通过街道表示对象类别之间的关系,并根据可变性指标改变建筑物的尺寸,具有高密度可变性的有趣区域以色彩鲜艳的社区,摩天大楼和停车场分组的形式脱颖而出。VariCity作为开源软件提供,并附有这些验证实验的复制包。
将这种可视化集成到开发环境中,可以促进代码和城市元素之间的导航,为理解和掌握主要代码提供更相关的帮助。
创新关键点
一种以城市形式表示代码的可视化系统突出显示代码中集中其可变性的区域,即特征变体的实现,从而促进其识别和理解。
智能推荐
激光技术创新思维 | 创新利用二氧化硅纤维开发“自冷却激光器”
2022-10-24斯坦福大学的研究人员开发了第一根由二氧化硅制成的自冷却光纤,用于激光应用,并迅速将其开发成激光放大器。
涉及学科涉及领域关键词机器人创新思维 | 通过磁力产生扭矩的靶向给药微型机器人
2022-07-29来自斯坦福大学的研究团队开发出了一种微型机器人。这个由磁场驱动的机器人能够在人体内持续运动,并且能够通过磁力产生扭矩改变运动方向和越过障碍。通过改变磁场的强度和方向,机器人能够单次移动10倍于自身长度的距离。这一最新研制的机器人,是该团队开发过的最强大、功能最多的无线机器人。研究成果刊登在在《自然·通讯》(Nature Communications)杂志上。
涉及学科涉及领域关键词人工智能创新思维 | 通过重新实现和集成分页在边缘设备上训练神经网络
2022-07-26UC 伯克利的几位研究者提出了一种用于深度神经网络的图形级编译器——PORT,它重写了大型模型的训练 DAG以适应边缘设备的内存限制,同时保持高能效,通过重新实现和分页,达到了以最小的能耗扩展有效的内存容量的效果。
涉及学科涉及领域关键词软件工程创新思维 | 基于软件能耗原理创新减少电子设备能耗的方法
2023-01-06综合考虑电子设备能耗来源,通过开发新软件指导开发可减少能耗的软件程序。
涉及学科涉及领域关键词