2011 IEEE 19th International Conference on Program Comprehension最新文献

筛选
英文 中文
Subvocalization - Toward Hearing the Inner Thoughts of Developers 无声化——倾听开发人员的内心想法
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.49
Chris Parnin
{"title":"Subvocalization - Toward Hearing the Inner Thoughts of Developers","authors":"Chris Parnin","doi":"10.1109/ICPC.2011.49","DOIUrl":"https://doi.org/10.1109/ICPC.2011.49","url":null,"abstract":"Some of the most fascinating feats of cognition are never witnessed or heard by others, yet they occur daily in the minds of software developers practicing their craft. Researchers have desperately tried to glimpse inside, but with limited tools, the view into a developer's internal mental processes has been dim. One available tool, so far overlooked but widely used, has demonstrated the ability to measure the physiological correlates of cognition. When people perform complex tasks, sub-vocal utterances (electrical signals sent to the tongue, lips, or vocal cords) can be detected.  This phenomenon has long intrigued researchers, some likening sub-vocal signals to the conduits of our thoughts.  Recently, researchers have even been able to decode these signals into words. In this paper, we explore the feasibility of using this approach and report our early results and experiences in recording electromyogram (EMG) signals of software developers performing programming tasks. We believe, these techniques can shed light into the cognitive processes of developers and may even provide novel interactions in future programming environments.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121796207","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}
引用次数: 34
Trust-Based Requirements Traceability 基于信任的需求可追溯性
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.42
Nasir Ali, Yann-Gaël Guéhéneuc, G. Antoniol
{"title":"Trust-Based Requirements Traceability","authors":"Nasir Ali, Yann-Gaël Guéhéneuc, G. Antoniol","doi":"10.1109/ICPC.2011.42","DOIUrl":"https://doi.org/10.1109/ICPC.2011.42","url":null,"abstract":"Information retrieval (IR) approaches have proven useful in recovering traceability links between free-text documentation and source code. IR-based traceability recovery approaches produce ranked lists of traceability links between pieces of documentation and source code. These traceability links are then pruned using various strategies and, finally, validated by human experts. In this paper we propose two contributions to improve the precision and recall of traceability links and, thus, reduces the required human experts' manual validation effort. First, we propose a novel approach, Trust race, inspired by Web trust models to improve the precision and recall of traceability links: Trust race uses intractability recovery approach to obtain a set of traceability links, which rankings are then re-evaluated using a set of other traceability recovery approaches. Second, we propose a novel traceability recovery approach, His trace, to identify traceability links between requirements and source code through CVS/SVN change logs using a Vector Space Model (VSM). We combine a traditional recovery traceability approach with His trace to build Trust race in which we use Histraceas one expert adding knowledge to the traceability links extracttedfrom CVS/SVN  change logs. We apply Trustrace on two case studies to compare its traceability links with those recovered using only the VSM-based approach, in terms of precision and recall. We show that Trustrace improves with statistical significance the precision of the traceability links while also improving recall but without statistical significance.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126745121","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}
引用次数: 42
On Visualization and Comprehension of Scenario-Based Programs 基于场景的程序的可视化和理解
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.10
Nir Eitan, M. Gordon, D. Harel, Assaf Marron, Gera Weiss
{"title":"On Visualization and Comprehension of Scenario-Based Programs","authors":"Nir Eitan, M. Gordon, D. Harel, Assaf Marron, Gera Weiss","doi":"10.1109/ICPC.2011.10","DOIUrl":"https://doi.org/10.1109/ICPC.2011.10","url":null,"abstract":"We address the problem of comprehending cause and effect relationships between relatively independent behavior components of a single application. Our focus is on the paradigm of behavioral, scenario-based, programming, as captured by the language of live sequence charts (LSC) or its Java-based counterpart, BPJ. In this programming paradigm, multi-modal behaviors can be specified separately, and are integrated only at run time. We present a tool, with which the user can easily follow the decisions of the collective execution mechanism. It shows the behaviors and events that were executed at each point in time, and those that were delayed or abandoned, as well as the causes and reasons behind these run-time choices. The dynamic effects of such decisions on thesystem's behavior can be seen easily too.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116836062","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}
引用次数: 15
The Influence of the Task on Programmer Behaviour 任务对程序员行为的影响
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.35
Annie T. T. Ying, M. Robillard
{"title":"The Influence of the Task on Programmer Behaviour","authors":"Annie T. T. Ying, M. Robillard","doi":"10.1109/ICPC.2011.35","DOIUrl":"https://doi.org/10.1109/ICPC.2011.35","url":null,"abstract":"Programmers performing a change task must understand the existing software in addition to performing the actual change. This process is likely to be affected by characteristics of the task. We investigated whether the nature of a task has any relationship with when a programmer edits code during a programming session. We characterized differences in editing behaviour with three types of editing styles: edit-first, edit-last, and edit-throughout. We based our analysis on the interaction history of over 4000 programming sessions collected as part of the development history of open source projects. Our results showed that an enhancement task (as opposed to a bug fix) was less likely to be associated with a high fraction of source code edit events at the beginning of the programming session. To our surprise, we also found that the presence of a stack trace in a bug report did not significantly effect the editing style of the programming session.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129327822","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}
引用次数: 46
Obstacles in Using Frameworks and APIs: An Exploratory Study of Programmers' Newsgroup Discussions 使用框架和api的障碍:程序员新闻组讨论的探索性研究
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.21
Daqing Hou, Lin Li
{"title":"Obstacles in Using Frameworks and APIs: An Exploratory Study of Programmers' Newsgroup Discussions","authors":"Daqing Hou, Lin Li","doi":"10.1109/ICPC.2011.21","DOIUrl":"https://doi.org/10.1109/ICPC.2011.21","url":null,"abstract":"Large software frameworks and APIs can be hard  to learn and use, impeding software productivity. But what are the specific challenges that programmers actually face when using frameworks and APIs in practice? What makes APIs hard to use, and what can be done to alleviate the problems associated with API usability and learnability? To explore these questions, we conducted an exploratory study in which we manually analyzed a set of newsgroup discussions about  specific challenges that programmers had about a software framework. Based on this set of data, we identified several categories of obstacles in using APIs. We discussed what could be done to help overcome these obstacles.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132763956","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}
引用次数: 82
Industrial Program Comprehension Challenge 2011: Archeology and Anthropology of Embedded Control Systems 工业计划理解挑战2011:嵌入式控制系统的考古学和人类学
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.50
Andrew Begel, Jochen Quante
{"title":"Industrial Program Comprehension Challenge 2011: Archeology and Anthropology of Embedded Control Systems","authors":"Andrew Begel, Jochen Quante","doi":"10.1109/ICPC.2011.50","DOIUrl":"https://doi.org/10.1109/ICPC.2011.50","url":null,"abstract":"The Industrial Program Comprehension Challenge is a two-year-old track of the International Conference on Program Comprehension that provides a venue for researchers and industrial practitioners to communicate about new research directions that can help address real world problems. This year, 2011, a scenario-based challenge was created to inspire researchers to apply the best \"archaeological\" techniques for understanding the complexity of industrial software, and foster appreciation for the delicate \"anthropological\" scenario which drives the behavior of the software engineers, management, and customers. Participants had two months to work on the challenge and submit write-ups of their solutions. Acceptable submissions were exhibited as posters, while the best solutions were presented during the Industrial Challenge conference session. This new challenge format gives researchers the opportunity to present their novel techniques, tools and ideas to the community.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122486862","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}
引用次数: 5
Context and Vision: Studying Two Factors Impacting Program Comprehension 情境与愿景:研究影响节目理解的两个因素
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.37
Z. Soh
{"title":"Context and Vision: Studying Two Factors Impacting Program Comprehension","authors":"Z. Soh","doi":"10.1109/ICPC.2011.37","DOIUrl":"https://doi.org/10.1109/ICPC.2011.37","url":null,"abstract":"Linguistic information derived from identifiersand comments has a paramount role in program comprehension. Indeed, very often, program documentation is scarce and when available, it is almost always outdated. Previous research works showed that program comprehension is often solely grounded on identifiers and comments and that, ultimately, it is the quality of comments and identifiers that impact the accuracy and efficiency of program comprehension. Previous works also investigated the factors in?uencing program com-prehension. However, they are limited by the available tools used to establish relations between cognitive processes and program comprehension. The goal of our research work is to foster our understanding of program comprehension by better understanding its implied underlying cognitive processes. We plan to study vision as the fundamental mean used by developers to understand a code in the context of a given program. Vision is indeed the trigger mechanism starting any cognitive process, in particular in program comprehension. We want to provide supporting evidence that context guides the cognitive process toward program comprehension. Therefore, we will perform a series of empirical studies to collect observations related to the use of context and vision in program comprehension. Then, we will propose laws and then derive a theory to explain the observable facts and predict new facts. The theory could be used in future empirical studies and will provide the relation between program comprehension and cognitive processes.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134601931","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
The NiCad Clone Detector NiCad克隆探测器
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.26
J. Cordy, C. Roy
{"title":"The NiCad Clone Detector","authors":"J. Cordy, C. Roy","doi":"10.1109/ICPC.2011.26","DOIUrl":"https://doi.org/10.1109/ICPC.2011.26","url":null,"abstract":"The NiCad Clone Detector is a scalable, flexible clone detection tool designed to implement the NiCad (Automated Detection of Near-Miss Intentional Clones) hybrid clone detection method in a convenient, easy-to-use command- line tool that can easily be embedded in IDEs and other environments. It takes as input a source directory or directories to be checked for clones and a configuration file specifying the normalization and filtering to be done, and provides output results in both XML form for easy analysis and HTML form for convenient browsing. NiCad handles a range of languages and normalizations, and is designed to be easily extensible using a component-based plugin architecture. It is scalable to very large systems and has been used to analyze, for example, all 47 releases of FreeBSD (60 million lines) as a single system.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"357 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115857595","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}
引用次数: 222
Toward Intuitive Programming Languages 面向直观的编程语言
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.33
A. Stefik, Susanna Siebert, Kim Slattery, Melissa Stefik
{"title":"Toward Intuitive Programming Languages","authors":"A. Stefik, Susanna Siebert, Kim Slattery, Melissa Stefik","doi":"10.1109/ICPC.2011.33","DOIUrl":"https://doi.org/10.1109/ICPC.2011.33","url":null,"abstract":"Modern text-based computer programming languages use syntax, semantics, and APIs to represent actions a computer will perform. Historically, the design of these languages has largely escaped the critical gaze of peer review, relying more on expert opinions than robust scientific methodologies. In this paper, we pose a questionâ€\"is it possible to create a programming language where the syntax, semantics, and API design is based upon rigorous data collection and the scientific method? We have undertaken a long-term project to develop a computer programming language, called Hop, where each language decision is based upon empirical metrics gathered from human studies. While such a design may not universally benefit all programmers, our hope is that such a procedure may make our community's language design decisions more objective and transparent.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122714589","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
AspectMaps: A Scalable Visualization of Join Point Shadows AspectMaps:一个可伸缩的连接点阴影可视化
2011 IEEE 19th International Conference on Program Comprehension Pub Date : 2011-06-22 DOI: 10.1109/ICPC.2011.11
J. Fabry, Andy Kellens, Stéphane Ducasse
{"title":"AspectMaps: A Scalable Visualization of Join Point Shadows","authors":"J. Fabry, Andy Kellens, Stéphane Ducasse","doi":"10.1109/ICPC.2011.11","DOIUrl":"https://doi.org/10.1109/ICPC.2011.11","url":null,"abstract":"When using Aspect-Oriented Programming, it is sometimes difficult to determine at which join point an aspect executes. Similarly, when considering one join point, knowing which aspects will execute there and in what order is non-trivial. This makes it difficult to understand how the application will behave. A number of visualizations have been proposed that attempt to provide support for such program understanding. However, they neither scale up to large code bases nor scale down to understanding what happens at a single join point. In this paper, we present Aspect Maps -- a visualization that scales in both directions, thanks to a multi-level selective structural zoom. We show how the use of Aspect Maps allows for program understanding of code with aspects, revealing both a wealth of information of what can happen at one particular join point as well as allowing to see the \"big picture\" on a larger code base. We demonstrate the usefulness of Aspect Maps on an example and present the results of a small user study that shows that Aspect Maps outperforms other aspect visualization tools.","PeriodicalId":345601,"journal":{"name":"2011 IEEE 19th International Conference on Program Comprehension","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126539026","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}
引用次数: 26
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信