首页 > 最新文献

2013 First IEEE Working Conference on Software Visualization (VISSOFT)最新文献

英文 中文
Automatic categorization and visualization of lock behavior 自动分类和可视化锁的行为
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650540
S. Reiss, A. Tarvo
We consider the problem of understanding locking behavior in large Java programs using a combination of data collection, data analysis, and visualization. Our technique starts by collecting partial information about all locks used in the program. It then analyzes this information to determine sets of locks with common behaviors and to determine, for each set of locks, how that lock is used, e.g. if it is used as a mutex, semaphore, read-write lock, etc. The result of the analysis is then presented to the user who can select specific locks for full analysis during a subsequent run. Visualizing locking information is particularly difficult since the time scale of a lock can be ten or more orders of magnitude different from the time scale of the overall run and locks can be used millions of times. We provide different visualizations and visualization techniques for this purpose. First, we analyze either the partial or full traces and identify patterns of how each lock is used and display just those patterns along with their frequency. Second, we provide a thread-centric view of locking that supports fish-eye views at the microsecond level as well as time compression. Third, we provide a lock-centric view that is based on the specific type of lock to show its particular behavior.
我们考虑使用数据收集、数据分析和可视化的组合来理解大型Java程序中的锁行为的问题。我们的技术首先收集程序中使用的所有锁的部分信息。然后,它分析这些信息,以确定具有共同行为的锁集,并确定每组锁的使用方式,例如,它是否被用作互斥锁、信号量、读写锁等。然后将分析结果呈现给用户,用户可以在随后的运行中选择特定的锁进行全面分析。可视化锁信息特别困难,因为锁的时间尺度可能与整个运行的时间尺度相差10个或更多个数量级,而且锁可能被使用数百万次。我们为此提供了不同的可视化和可视化技术。首先,我们分析部分或全部跟踪,确定每个锁的使用模式,并显示这些模式及其频率。其次,我们提供了一个以线程为中心的锁视图,支持微秒级的鱼眼视图以及时间压缩。第三,我们提供了一个以锁为中心的视图,该视图基于特定类型的锁来显示其特定行为。
{"title":"Automatic categorization and visualization of lock behavior","authors":"S. Reiss, A. Tarvo","doi":"10.1109/VISSOFT.2013.6650540","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650540","url":null,"abstract":"We consider the problem of understanding locking behavior in large Java programs using a combination of data collection, data analysis, and visualization. Our technique starts by collecting partial information about all locks used in the program. It then analyzes this information to determine sets of locks with common behaviors and to determine, for each set of locks, how that lock is used, e.g. if it is used as a mutex, semaphore, read-write lock, etc. The result of the analysis is then presented to the user who can select specific locks for full analysis during a subsequent run. Visualizing locking information is particularly difficult since the time scale of a lock can be ten or more orders of magnitude different from the time scale of the overall run and locks can be used millions of times. We provide different visualizations and visualization techniques for this purpose. First, we analyze either the partial or full traces and identify patterns of how each lock is used and display just those patterns along with their frequency. Second, we provide a thread-centric view of locking that supports fish-eye views at the microsecond level as well as time compression. Third, we provide a lock-centric view that is based on the specific type of lock to show its particular behavior.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"433 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116007719","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}
引用次数: 7
DEVis: A tool for visualizing software document evolution DEVis:一个可视化软件文档演变的工具
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650526
Junji Zhi, G. Ruhe
During the software development process many technical documents are produced. Such documents and their evolution history contain rich information about the development process. Analyzing these document changes may reveal regularities and anomalies which are helpful to understand the software system and its development process. In this paper, we propose DEVis, an interactive visualization tool to visualize the software documentation evolution and aid the tasks of analyzing software development process. We initially evaluated our tool using the knowledge task-based framework and discuss the challenging aspects and lessons learned during the development of DEVis.
在软件开发过程中产生了许多技术文档。这些文档及其演变历史包含了关于开发过程的丰富信息。分析这些文档的变化可以揭示规律和异常,这有助于理解软件系统及其开发过程。本文提出了一种交互式可视化工具DEVis,用于可视化软件文档的演变过程,并帮助分析软件开发过程。我们最初使用基于任务的知识框架评估了我们的工具,并讨论了DEVis开发过程中的挑战和经验教训。
{"title":"DEVis: A tool for visualizing software document evolution","authors":"Junji Zhi, G. Ruhe","doi":"10.1109/VISSOFT.2013.6650526","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650526","url":null,"abstract":"During the software development process many technical documents are produced. Such documents and their evolution history contain rich information about the development process. Analyzing these document changes may reveal regularities and anomalies which are helpful to understand the software system and its development process. In this paper, we propose DEVis, an interactive visualization tool to visualize the software documentation evolution and aid the tasks of analyzing software development process. We initially evaluated our tool using the knowledge task-based framework and discuss the challenging aspects and lessons learned during the development of DEVis.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128616690","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}
引用次数: 14
Visualizing constituent behaviors within executions 可视化执行中的组成行为
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650537
Vijay Krishna Palepu, James A. Jones
In this New Ideas and Emerging Results paper, we present a novel visualization, THE BRAIN, that reveals clusters of source code that co-execute to produce behavioral features of the program throughout and within executions. We created a clustered visualization of source-code that is informed by dynamic control flow of multiple executions; each cluster represents commonly interacting logic that composes software features. In addition, we render individual executions atop the clustered multiple-execution visualization as user-controlled animations to reveal characteristics of specific executions-these animations may provide exemplars for the clustered features and provide chronology for those behavioral features, or they may reveal anomalous behaviors that do not fit with the overall operational profile of most executions. Both the clustered multiple-execution view and the animated individual-execution view provide insights for the constituent behaviors within executions that compose behaviors of whole executions. Inspired by neural imaging of human brains of people who were subjected to various external stimuli, we designed and implemented THE BRAIN to reveal program activity during execution. The result has revealed the principal behaviors of execution, and those behaviors were revealed to be (in some cases) cohesive, modular source-code structures and (in other cases) cross-cutting, emergent behaviors that involve multiple modules. In this paper, we describe THE BRAIN and envisage the uses to which it can be put, and we provide two example usage scenarios to demonstrate its utility.
在这篇新想法和新兴结果的论文中,我们提出了一种新颖的可视化方法,即“大脑”,它揭示了共同执行的源代码集群,这些源代码集群在执行过程中和执行过程中产生了程序的行为特征。我们通过多次执行的动态控制流创建了源代码的集群可视化;每个集群表示组成软件特性的通用交互逻辑。此外,我们将单个执行呈现在集群多执行可视化之上,作为用户控制的动画来显示特定执行的特征——这些动画可能为集群特征提供范例,并为这些行为特征提供时间顺序,或者它们可能显示与大多数执行的总体操作轮廓不相符的异常行为。集群的多次执行视图和动画的单个执行视图都提供了对构成整个执行行为的执行中的组成行为的洞察。受到受到各种外部刺激的人的大脑神经成像的启发,我们设计并实现了THE BRAIN来揭示程序执行过程中的活动。结果揭示了执行的主要行为,这些行为被揭示为(在某些情况下)内聚的、模块化的源代码结构,以及(在其他情况下)涉及多个模块的横切的、紧急的行为。在本文中,我们描述了大脑,并设想了它的用途,我们提供了两个示例使用场景来演示它的实用性。
{"title":"Visualizing constituent behaviors within executions","authors":"Vijay Krishna Palepu, James A. Jones","doi":"10.1109/VISSOFT.2013.6650537","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650537","url":null,"abstract":"In this New Ideas and Emerging Results paper, we present a novel visualization, THE BRAIN, that reveals clusters of source code that co-execute to produce behavioral features of the program throughout and within executions. We created a clustered visualization of source-code that is informed by dynamic control flow of multiple executions; each cluster represents commonly interacting logic that composes software features. In addition, we render individual executions atop the clustered multiple-execution visualization as user-controlled animations to reveal characteristics of specific executions-these animations may provide exemplars for the clustered features and provide chronology for those behavioral features, or they may reveal anomalous behaviors that do not fit with the overall operational profile of most executions. Both the clustered multiple-execution view and the animated individual-execution view provide insights for the constituent behaviors within executions that compose behaviors of whole executions. Inspired by neural imaging of human brains of people who were subjected to various external stimuli, we designed and implemented THE BRAIN to reveal program activity during execution. The result has revealed the principal behaviors of execution, and those behaviors were revealed to be (in some cases) cohesive, modular source-code structures and (in other cases) cross-cutting, emergent behaviors that involve multiple modules. In this paper, we describe THE BRAIN and envisage the uses to which it can be put, and we provide two example usage scenarios to demonstrate its utility.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125215505","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}
引用次数: 14
ClonEvol: Visualizing software evolution with code clones ClonEvol:用代码克隆可视化软件进化
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650525
Avdo Hanjalic
We present ClonEvol, a visual analysis tool that assists in obtaining insight into the state and the evolution of a C/C++/Java source code base on project, file and scope level. ClonEvol combines information obtained from the software versioning system and contents of files that change between versions; The tool operates as tool-chain of Subversion (SVN), Doxygen (applied as static analyzer) and Simian as code duplication detector. The consolidated information is presented to the user in an interactive visual manner. The focus of the presented tool lies on scalability (in time and space) concerning data acquisition, data processing and visualization, and ease of use. The visualization is approached by using a (mirrored) radial tree to show the file and scope structures, complemented with hierarchically bundled edges that show clone relations. We demonstrate the use of ClonEvol on a real world code base.
我们介绍了ClonEvol,这是一个可视化的分析工具,可以帮助我们深入了解基于项目、文件和范围级别的C/ c++ /Java源代码的状态和演变。ClonEvol结合了从软件版本控制系统获得的信息和版本之间变化的文件内容;该工具作为Subversion (SVN)的工具链,oxygen(作为静态分析器)和Simian(作为代码复制检测器)运行。合并后的信息以交互式可视化的方式呈现给用户。所介绍的工具的重点在于与数据采集、数据处理和可视化以及易用性相关的可伸缩性(在时间和空间上)。可视化是通过使用(镜像)径向树来显示文件和作用域结构,并辅以显示克隆关系的分层捆绑边来实现的。我们将在真实世界的代码库中演示ClonEvol的使用。
{"title":"ClonEvol: Visualizing software evolution with code clones","authors":"Avdo Hanjalic","doi":"10.1109/VISSOFT.2013.6650525","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650525","url":null,"abstract":"We present ClonEvol, a visual analysis tool that assists in obtaining insight into the state and the evolution of a C/C++/Java source code base on project, file and scope level. ClonEvol combines information obtained from the software versioning system and contents of files that change between versions; The tool operates as tool-chain of Subversion (SVN), Doxygen (applied as static analyzer) and Simian as code duplication detector. The consolidated information is presented to the user in an interactive visual manner. The focus of the presented tool lies on scalability (in time and space) concerning data acquisition, data processing and visualization, and ease of use. The visualization is approached by using a (mirrored) radial tree to show the file and scope structures, complemented with hierarchically bundled edges that show clone relations. We demonstrate the use of ClonEvol on a real world code base.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124609641","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}
引用次数: 25
An empirical study assessing the effect of seeit 3D on comprehension 《视觉3D》对理解效果的实证研究
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650519
Bonita Sharif, Grace Jetty, Jairo Aponte, Esteban Parra
A study to assess the effect of SeeIT 3D, a software visualization tool is presented. Six different tasks in three different task categories are assessed in the context of a large open-source system. Ninety-seven subjects were recruited from three different universities to participate in the study. Two methods of data collection: traditional questionnaires and an eye-tracker were used. The main goal was to determine the impact and added benefit of SeeIT 3D while performing typical software tasks within the Eclipse IDE. Results indicate that SeeIT 3D performs significantly better in one task category namely overview tasks but takes significantly longer when completing bug fixing tasks. Scores obtained by the subjects in the SeeIT 3D group are 13% better and 45% faster for overview tasks.
介绍了一种可视化软件SeeIT 3D的效果评估研究。在一个大型开源系统的背景下,评估了三个不同任务类别中的六个不同任务。来自三所不同大学的97名研究对象参与了这项研究。采用传统问卷调查和眼动仪两种数据收集方法。主要目标是确定在Eclipse IDE中执行典型软件任务时SeeIT 3D的影响和附加好处。结果表明,SeeIT 3D在一个任务类别中表现明显更好,即概述任务,但在完成错误修复任务时花费的时间明显更长。SeeIT 3D组的受试者在总览任务上的得分提高了13%,提高了45%。
{"title":"An empirical study assessing the effect of seeit 3D on comprehension","authors":"Bonita Sharif, Grace Jetty, Jairo Aponte, Esteban Parra","doi":"10.1109/VISSOFT.2013.6650519","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650519","url":null,"abstract":"A study to assess the effect of SeeIT 3D, a software visualization tool is presented. Six different tasks in three different task categories are assessed in the context of a large open-source system. Ninety-seven subjects were recruited from three different universities to participate in the study. Two methods of data collection: traditional questionnaires and an eye-tracker were used. The main goal was to determine the impact and added benefit of SeeIT 3D while performing typical software tasks within the Eclipse IDE. Results indicate that SeeIT 3D performs significantly better in one task category namely overview tasks but takes significantly longer when completing bug fixing tasks. Scores obtained by the subjects in the SeeIT 3D group are 13% better and 45% faster for overview tasks.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127240605","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}
引用次数: 27
Visualizing jobs with shared resources in distributed environments 可视化分布式环境中具有共享资源的作业
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650535
Wim De Pauw, J. Wolf, Andrey Balmin
In this paper we describe a visualization system that shows the behavior of jobs in large, distributed computing clusters. The system has been in use for two years, and is sufficiently generic to be applied in two quite different domains: a Hadoop MapReduce environment and the Watson DeepQA DUCC cluster. Scalable and flexible data processing systems typically run hundreds or more of simultaneous jobs. The creation, termination, expansion and contraction of these jobs can be very dynamic and transient, and it is difficult to understand this behavior without showing its evolution over time. While traditional monitoring tools typically show either snapshots of the current load balancing or aggregate trends over time, our new visualization technique shows the behavior of each of the jobs over time in the context of the cluster, and in either a real-time or post-mortem view. Its new algorithm runs in realtime mode and can make retroactive adjustments to produce smooth layouts. Moreover, our system allows users to drill down to see details about individual jobs. The visualization has been proven useful for administrators to see the overall occupancy, trends and job allocations in the cluster, and for users to spot errors or to monitor how many resources are given to their jobs.
在本文中,我们描述了一个可视化系统,它显示了大型分布式计算集群中作业的行为。该系统已经使用了两年,并且足够通用,可以应用于两个完全不同的领域:Hadoop MapReduce环境和Watson DeepQA DUCC集群。可伸缩和灵活的数据处理系统通常同时运行数百个或更多的作业。这些工作的创建、终止、扩展和收缩可能是非常动态和短暂的,如果不显示其随时间的演变,就很难理解这种行为。传统的监控工具通常显示当前负载平衡的快照或随时间变化的总体趋势,而我们的新可视化技术显示了集群上下文中每个作业随时间变化的行为,并以实时视图或事后视图显示。它的新算法在实时模式下运行,并可以进行追溯调整以产生平滑的布局。此外,我们的系统允许用户向下钻取查看单个工作的详细信息。事实证明,可视化对于管理员查看集群中的总体占用情况、趋势和作业分配非常有用,对于用户发现错误或监视分配给其作业的资源数量也非常有用。
{"title":"Visualizing jobs with shared resources in distributed environments","authors":"Wim De Pauw, J. Wolf, Andrey Balmin","doi":"10.1109/VISSOFT.2013.6650535","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650535","url":null,"abstract":"In this paper we describe a visualization system that shows the behavior of jobs in large, distributed computing clusters. The system has been in use for two years, and is sufficiently generic to be applied in two quite different domains: a Hadoop MapReduce environment and the Watson DeepQA DUCC cluster. Scalable and flexible data processing systems typically run hundreds or more of simultaneous jobs. The creation, termination, expansion and contraction of these jobs can be very dynamic and transient, and it is difficult to understand this behavior without showing its evolution over time. While traditional monitoring tools typically show either snapshots of the current load balancing or aggregate trends over time, our new visualization technique shows the behavior of each of the jobs over time in the context of the cluster, and in either a real-time or post-mortem view. Its new algorithm runs in realtime mode and can make retroactive adjustments to produce smooth layouts. Moreover, our system allows users to drill down to see details about individual jobs. The visualization has been proven useful for administrators to see the overall occupancy, trends and job allocations in the cluster, and for users to spot errors or to monitor how many resources are given to their jobs.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123496458","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}
引用次数: 8
SYNCTRACE: Visual thread-interplay analysis SYNCTRACE:可视化线程相互作用分析
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650534
Benjamin Karran, Jonas Trümper, J. Döllner
In software comprehension, program traces are important to gain insight into certain aspects of concurrent runtime behavior, e.g., thread-interplay. Here, key tasks are finding usages of blocking operations, such as synchronization and I/O operations, assessing temporal order of such operations, and analyzing their effects. This is a hard task for large and complex program traces due to their size and number of threads involved. In this paper, we present SYNCTRACE a new visualization technique based on (bended) activity diagrams and edge bundles that allows for parallel analysis of multiple threads and their inter-thread correspondences. We demonstrate how the technique, implemented as a tool, can be applied on real-world trace datasets to support understanding concurrent behavior.
在软件理解中,程序跟踪对于深入了解并发运行时行为的某些方面非常重要,例如,线程相互作用。这里的关键任务是找到阻塞操作的用法,比如同步和I/O操作,评估这些操作的时间顺序,并分析它们的影响。由于涉及的线程的大小和数量,这对于大型和复杂的程序跟踪来说是一项艰巨的任务。在本文中,我们提出了SYNCTRACE一种新的可视化技术,基于(弯曲的)活动图和边缘束,允许并行分析多个线程及其线程间对应。我们将演示如何将该技术作为工具实现,应用于真实世界的跟踪数据集,以支持对并发行为的理解。
{"title":"SYNCTRACE: Visual thread-interplay analysis","authors":"Benjamin Karran, Jonas Trümper, J. Döllner","doi":"10.1109/VISSOFT.2013.6650534","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650534","url":null,"abstract":"In software comprehension, program traces are important to gain insight into certain aspects of concurrent runtime behavior, e.g., thread-interplay. Here, key tasks are finding usages of blocking operations, such as synchronization and I/O operations, assessing temporal order of such operations, and analyzing their effects. This is a hard task for large and complex program traces due to their size and number of threads involved. In this paper, we present SYNCTRACE a new visualization technique based on (bended) activity diagrams and edge bundles that allows for parallel analysis of multiple threads and their inter-thread correspondences. We demonstrate how the technique, implemented as a tool, can be applied on real-world trace datasets to support understanding concurrent behavior.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123814744","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}
引用次数: 24
Using HTML5 visualizations in software fault localization 在软件故障定位中使用HTML5可视化
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650539
Carlos Gouveia, José Campos, Rui Abreu
Testing and debugging is the most expensive, error-prone phase in the software development life cycle. Automated software fault localization can drastically improve the efficiency of this phase, thus improving the overall quality of the software. Amongst the most well-known techniques, due to its efficiency and effectiveness, is spectrum-based fault localization. In this paper, we propose three dynamic graphical forms using HTML5 to display the diagnostic reports yielded by spectrum-based fault localization. The visualizations proposed, namely Sunburst, Vertical Partition, and Bubble Hierarchy, have been implemented within the GZOLTAR toolset, replacing previous and less-intuitive OpenGL-based visualizations. The GZOLTAR toolset is a plug-and-play plugin for the Eclipse IDE to ease world-wide adoption. Finally, we performed an user study with GZOLTAR and confirmed that the visualizations help to drastically reduce the time needed in debugging (e.g., all participants using the visualizations were able to pinpoint the fault, whereas of those using traditional methods only 35% found the fault). The group that used the visualizations took on average 9 minutes and 17 seconds less than the group that did not use them.
测试和调试是软件开发生命周期中最昂贵、最容易出错的阶段。自动化的软件故障定位可以极大地提高这一阶段的效率,从而提高软件的整体质量。其中最著名的技术是基于频谱的故障定位,由于其效率和有效性。在本文中,我们提出了三种使用HTML5的动态图形形式来显示基于频谱的故障定位产生的诊断报告。所提出的可视化,即Sunburst、Vertical Partition和Bubble Hierarchy,已经在GZOLTAR工具集中实现,取代了之前不太直观的基于opengl的可视化。GZOLTAR工具集是一个用于Eclipse IDE的即插即用插件,便于在全球范围内采用。最后,我们使用GZOLTAR进行了用户研究,并确认可视化有助于大大减少调试所需的时间(例如,所有使用可视化的参与者都能够精确定位故障,而使用传统方法的参与者中只有35%找到了故障)。使用可视化的小组比没有使用可视化的小组平均少花9分17秒的时间。
{"title":"Using HTML5 visualizations in software fault localization","authors":"Carlos Gouveia, José Campos, Rui Abreu","doi":"10.1109/VISSOFT.2013.6650539","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650539","url":null,"abstract":"Testing and debugging is the most expensive, error-prone phase in the software development life cycle. Automated software fault localization can drastically improve the efficiency of this phase, thus improving the overall quality of the software. Amongst the most well-known techniques, due to its efficiency and effectiveness, is spectrum-based fault localization. In this paper, we propose three dynamic graphical forms using HTML5 to display the diagnostic reports yielded by spectrum-based fault localization. The visualizations proposed, namely Sunburst, Vertical Partition, and Bubble Hierarchy, have been implemented within the GZOLTAR toolset, replacing previous and less-intuitive OpenGL-based visualizations. The GZOLTAR toolset is a plug-and-play plugin for the Eclipse IDE to ease world-wide adoption. Finally, we performed an user study with GZOLTAR and confirmed that the visualizations help to drastically reduce the time needed in debugging (e.g., all participants using the visualizations were able to pinpoint the fault, whereas of those using traditional methods only 35% found the fault). The group that used the visualizations took on average 9 minutes and 17 seconds less than the group that did not use them.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115296666","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}
引用次数: 56
Visualizing the allocation and death of objects 可视化对象的分配和死亡
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650538
Raoul L. Veroy, Nathan P. Ricci, Samuel Z. Guyer
We present memory allocation and death plots, a visualization technique for showing both which method an object is allocated in a Java program, and in which method that object eventually dies. This relates the place in a program's execution where memory is first used to the place it is no longer used, thus helping the programmer to better understand the memory behavior of a program.
我们介绍了内存分配和死亡图,这是一种可视化技术,用于显示Java程序中分配对象的方法,以及该对象最终在哪个方法中死亡。这将程序执行中首次使用内存的位置与不再使用内存的位置联系起来,从而帮助程序员更好地理解程序的内存行为。
{"title":"Visualizing the allocation and death of objects","authors":"Raoul L. Veroy, Nathan P. Ricci, Samuel Z. Guyer","doi":"10.1109/VISSOFT.2013.6650538","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650538","url":null,"abstract":"We present memory allocation and death plots, a visualization technique for showing both which method an object is allocated in a Java program, and in which method that object eventually dies. This relates the place in a program's execution where memory is first used to the place it is no longer used, thus helping the programmer to better understand the memory behavior of a program.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115715204","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
Towards interactive visualization support for pairwise testing software product lines 为软件产品线的成对测试提供交互式可视化支持
Pub Date : 2013-10-31 DOI: 10.1109/VISSOFT.2013.6650543
R. Lopez-Herrejon, Alexander Egyed
Software Product Lines (SPLs) are families of related software products. SPL practices have proven substantial technological and economical benefits such as improved software reuse and reduced time to market. Software testing is a key development activity in SPLs, and it is uniquely challenging because of the usually large number of feature combinations present in typical SPLs. Pairwise testing is a combinatorial testing technique that aims at selecting products to test based on the pairs of feature combinations such products provide. Our previous work on evolutionary approaches for SPL testing and their comparative analysis has yielded a large amount of data that prompted us to explore ways by which to convey and represent this information. In this paper we present our early results in this effort. We describe three basic visualization applications to pairwise testing and highlight some of the open questions that we foresee. But most importantly, our driving goal is both to raise the awareness of the visualization problems in this area and to spark the interest of the software visualization community.
软件产品线(SPLs)是一系列相关的软件产品。SPL实践已经证明了大量的技术和经济效益,例如改进的软件重用和缩短的上市时间。软件测试是SPLs中的一项关键开发活动,由于典型的SPLs中通常存在大量的特性组合,因此它具有独特的挑战性。成对测试是一种组合测试技术,旨在根据产品提供的特征组合对选择要测试的产品。我们之前关于SPL测试的进化方法及其比较分析的工作已经产生了大量的数据,这些数据促使我们探索传达和表示这些信息的方法。在本文中,我们介绍了我们在这方面的初步成果。我们描述了三种用于两两测试的基本可视化应用程序,并强调了我们预见到的一些开放问题。但最重要的是,我们的驱动目标是提高对该领域可视化问题的认识,并激发软件可视化社区的兴趣。
{"title":"Towards interactive visualization support for pairwise testing software product lines","authors":"R. Lopez-Herrejon, Alexander Egyed","doi":"10.1109/VISSOFT.2013.6650543","DOIUrl":"https://doi.org/10.1109/VISSOFT.2013.6650543","url":null,"abstract":"Software Product Lines (SPLs) are families of related software products. SPL practices have proven substantial technological and economical benefits such as improved software reuse and reduced time to market. Software testing is a key development activity in SPLs, and it is uniquely challenging because of the usually large number of feature combinations present in typical SPLs. Pairwise testing is a combinatorial testing technique that aims at selecting products to test based on the pairs of feature combinations such products provide. Our previous work on evolutionary approaches for SPL testing and their comparative analysis has yielded a large amount of data that prompted us to explore ways by which to convey and represent this information. In this paper we present our early results in this effort. We describe three basic visualization applications to pairwise testing and highlight some of the open questions that we foresee. But most importantly, our driving goal is both to raise the awareness of the visualization problems in this area and to spark the interest of the software visualization community.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116414465","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}
引用次数: 16
期刊
2013 First IEEE Working Conference on Software Visualization (VISSOFT)
全部 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