HCC: Small: Code Stories: Linking Code Influences and Changes in Code Histories
HCC:小:代码故事:将代码影响和代码历史变化联系起来
基本信息
- 批准号:2128128
- 负责人:
- 金额:$ 49.5万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2021
- 资助国家:美国
- 起止时间:2021-10-01 至 2024-09-30
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Computer software underlies nearly every aspect of modern life. Like other forms of infrastructure, it is critical that we maintain software to keep it functioning reliably. However, maintenance is expensive: today, the process of maintaining and updating a piece of software accounts for more than 50 percent of the total cost of developing it. Much of the difficulty and cost associated with maintaining software is due to the effort programmers exert to understand the existing computer code. In particular, it can be hard to determine which parts of a program are responsible for what behaviors, along with the reasons for particular implementation details. However, clues to these problems were present when the software was originally created: error messages, visited web pages, editor traces, and internal documentation all tie together software, goals, and reasons. The goal of this project is to develop ways to automatically capture kinds of contextual information that would support future software maintenance and to present this code history in ways that help future programmers understand and maintain that code.To realize this goal, this project takes a user-centered approach to first understanding code histories and then developing ways to capture and present this information for future users of a codebase. The project team will first conduct observational studies to determine how programmers naturally perceive and organize the history of the code they created. The results from these studies will inform the design of prototype code histories (called Code Stories) that will be further refined through user testing, enabling identification of the properties of effective code histories. The observational studies will also guide decisions about what kinds of code changes and contextual information (e.g., information foraging activity and error messages) to capture. In parallel, the team will develop heuristics for segmenting events and information into semantically meaningful chunks. The team will evaluate the work in two ways. The first evaluation will compare programmer efficiency when attempting to modify an unfamiliar codebase using a well-constructed git history (the current best practice that maintains history through keeping versions of a codebase) versus Code Stories. The second evaluation will capture programmer-guided versions of Code Stories through observations and interviews and compare the hand-authored Code Story emerging from these studies with the automatic Code Stories created by the tools developed. The results of this comparison will help to identify priorities for future research in code histories, as well as provide useful resources for future programmer education.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
计算机软件几乎是现代生活方方面面的基础。与其他形式的基础设施一样,我们维护软件以保持其可靠运行是至关重要的。然而,维护是昂贵的:今天,维护和更新软件的过程占开发总成本的50%以上。与维护软件相关的许多困难和成本是由于程序员努力理解现有的计算机代码。特别是,很难确定程序的哪个部分负责哪些行为,以及特定实现细节的原因。然而,这些问题的线索在软件最初创建时就已经出现了:错误消息、访问的网页、编辑器跟踪和内部文档,所有这些都将软件、目标和原因联系在一起。这个项目的目标是开发自动获取各种上下文信息的方法,这些信息将支持未来的软件维护,并以帮助未来的程序员理解和维护代码的方式呈现这些代码历史。为了实现这一目标,该项目采用以用户为中心的方法,首先了解代码历史,然后开发方法来捕获和呈现这些信息,以供将来的代码库用户使用。项目团队将首先进行观察性研究,以确定程序员如何自然地感知和组织他们创建的代码的历史。这些研究的结果将为原型代码历史(称为代码故事)的设计提供信息,这些原型代码历史将通过用户测试进一步细化,从而能够识别有效代码历史的属性。观察性研究还将指导决定捕获哪些类型的代码变化和上下文信息(例如,信息觅食活动和错误消息)。同时,团队将开发启发式方法,将事件和信息分割成语义上有意义的块。团队将以两种方式评估工作。第一个评估将比较程序员在尝试使用构造良好的git历史记录(通过保留代码库的版本来维护历史记录的当前最佳实践)与代码故事修改不熟悉的代码库时的效率。第二次评估将通过观察和访谈获取程序员指导的代码故事版本,并将这些研究中产生的手工编写的代码故事与开发工具创建的自动代码故事进行比较。这种比较的结果将有助于确定未来代码历史研究的优先级,并为未来的程序员教育提供有用的资源。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
项目成果
期刊论文数量(2)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
React example viability for efficient API learning (REVEAL): A tool to help programmers utilize incompatible code examples in React.js
- DOI:10.1016/j.cola.2023.101201
- 发表时间:2023-03
- 期刊:
- 影响因子:0
- 作者:John Allen;Caitlin L. Kelleher
- 通讯作者:John Allen;Caitlin L. Kelleher
A sensemaking analysis of API learning using React
使用 React 进行 API 学习的意义分析
- DOI:
- 发表时间:2023
- 期刊:
- 影响因子:2.2
- 作者:Kelleher, Caitlin;Brachman, Michelle
- 通讯作者:Brachman, Michelle
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Caitlin Kelleher其他文献
An Exploratory Study of Programmers’ Analogical Reasoning and Software History Usage During Code Re-Purposing
程序员在代码重新利用期间的类比推理和软件历史使用的探索性研究
- DOI:
- 发表时间:
2024 - 期刊:
- 影响因子:0
- 作者:
John Allen;Caitlin Kelleher - 通讯作者:
Caitlin Kelleher
Caitlin Kelleher的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Caitlin Kelleher', 18)}}的其他基金
The Tutor Engagement Assistant (TEA): Promoting High-Quality TA-Student Interactions
导师参与助理 (TEA):促进高质量的助教与学生互动
- 批准号:
2214538 - 财政年份:2022
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
WORKSHOP: VL/HCC 2014 Graduate Consortium
研讨会:VL/HCC 2014 毕业生联盟
- 批准号:
1418176 - 财政年份:2014
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
BPEC: Collaborative Research: Creating Personalized Learning Pathways by Managing Cognitive Load
BPEC:协作研究:通过管理认知负荷创建个性化学习路径
- 批准号:
1440996 - 财政年份:2014
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
CAREER: Looking Glass: Leveraging Mentor Interactions to Create Personalized Programming Help for Independent Learners
职业:镜子:利用导师互动为独立学习者创建个性化编程帮助
- 批准号:
1054587 - 财政年份:2011
- 资助金额:
$ 49.5万 - 项目类别:
Continuing Grant
Collaborative Research: Enabling Independent Learning of Computer Programming Using Programs Written by Peers
协作研究:使用同行编写的程序实现计算机编程的独立学习
- 批准号:
0835438 - 财政年份:2008
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
相似国自然基金
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
- 批准号:
- 批准年份:2024
- 资助金额:0.0 万元
- 项目类别:省市级项目
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
- 批准号:n/a
- 批准年份:2022
- 资助金额:10.0 万元
- 项目类别:省市级项目
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
- 批准号:32000033
- 批准年份:2020
- 资助金额:24.0 万元
- 项目类别:青年科学基金项目
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
- 批准号:31972324
- 批准年份:2019
- 资助金额:58.0 万元
- 项目类别:面上项目
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
- 批准号:81900988
- 批准年份:2019
- 资助金额:21.0 万元
- 项目类别:青年科学基金项目
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
- 批准号:31870821
- 批准年份:2018
- 资助金额:56.0 万元
- 项目类别:面上项目
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
- 批准号:31802058
- 批准年份:2018
- 资助金额:26.0 万元
- 项目类别:青年科学基金项目
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
- 批准号:31772128
- 批准年份:2017
- 资助金额:60.0 万元
- 项目类别:面上项目
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
- 批准号:81704176
- 批准年份:2017
- 资助金额:20.0 万元
- 项目类别:青年科学基金项目
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
- 批准号:91640114
- 批准年份:2016
- 资助金额:85.0 万元
- 项目类别:重大研究计划
相似海外基金
NSF-NSERC: SaTC: CORE: Small: Managing Risks of AI-generated Code in the Software Supply Chain
NSF-NSERC:SaTC:核心:小型:管理软件供应链中人工智能生成代码的风险
- 批准号:
2341206 - 财政年份:2024
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
SaTC: CORE: Small: Automatic Detection and Repair of Side Channel Vulnerabilities in Software Code
SaTC:CORE:小型:自动检测和修复软件代码中的侧信道漏洞
- 批准号:
2245344 - 财政年份:2023
- 资助金额:
$ 49.5万 - 项目类别:
Continuing Grant
SHF: AF: Small: Algorithms and a Code Generator for Faster Stencil Computations
SHF:AF:Small:用于更快模板计算的算法和代码生成器
- 批准号:
2318633 - 财政年份:2023
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
SaTC: CORE: Small: Scaling Correct-by-Construction Code Generation for Cryptography
SaTC:核心:小型:扩展密码学的构造正确代码生成
- 批准号:
2130671 - 财政年份:2022
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
SaTC: CORE: Small: Semantics-Oriented Binary Code Analysis Learning from Recent Advances in Deep Learning
SaTC:核心:小型:面向语义的二进制代码分析从深度学习的最新进展中学习
- 批准号:
2304720 - 财政年份:2022
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
SaTC: CORE: Small: SOFIA: Finding and profiling malware source-code in public archives at scale
SaTC:核心:小型:SOFIA:大规模在公共档案中查找和分析恶意软件源代码
- 批准号:
2132642 - 财政年份:2021
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
The use of genetic code expansion to understand and enhance the activity of p19, an RNA binding protein, towards applications in human cells for the modulation of small regulatory RNA molecules
利用遗传密码扩展来理解和增强 p19(一种 RNA 结合蛋白)的活性,以在人类细胞中用于调节小调节 RNA 分子
- 批准号:
535311-2019 - 财政年份:2021
- 资助金额:
$ 49.5万 - 项目类别:
Postgraduate Scholarships - Doctoral
SaTC: CORE: Small: Specifying and Verifying Secure Compilation of C Code to Tagged Hardware
SaTC:核心:小:指定和验证 C 代码到标记硬件的安全编译
- 批准号:
2048499 - 财政年份:2021
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Small: Context-aware Models of Source Code Summarization
合作研究:SHF:小型:源代码摘要的上下文感知模型
- 批准号:
2100035 - 财政年份:2021
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant
NSF-BSF: Collaborative Research: RI: Small: Multilingual Language Generation via Understanding of Code Switching
NSF-BSF:协作研究:RI:小型:通过理解代码切换生成多语言
- 批准号:
2203097 - 财政年份:2021
- 资助金额:
$ 49.5万 - 项目类别:
Standard Grant