CAREER: Leveraging Objective Measures for Developers' Cognitive Load to Identify and Quantify the Impact of Design, Coding, and Review Practices.
CAREER: Leveraging Objective Measures for Developers' Cognitive Load to Identify and Quantify the Impact of Design, Coding, and Review Practices.
批准号:
1942228
负责人:
Venera Arnaoudova
金额:
$49.99万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2020
资助国家:
美国
项目状态:
未结题
起止时间:
2020-05-01 至 2025-04-30
中文摘要
软件工程师将大部分时间花在阅读和理解他们或其他人编写的软件上。学术界和工业界已经出现了一些目录,它们记录了使软件更加灵活、模块化、可重用和可理解的好实践和坏实践。然而,这些实践是基于专家的意见,即研究人员和软件工程师,而不是基于经验证据。因此,当开发人员阅读和理解软件时,很少有人知道这些实践对他们的影响。随着最近在软件工程中采用高分辨率医学成像技术,研究者建议通过经验验证现有软件实践对程序理解的影响来引入“最佳和最差实践”背后的科学。此外,研究者将使用科学的方法来识别新的实践,而不是专家的意见。建议的工作被期望促进软件工程领域的新研究,因为它提供了一种通用的方法来客观地测量程序理解,并经验地评估和识别现有的和新的实践。这项研究的结果将为学生和软件工程师提供指导方针,指导他们如何编写软件,从而最大限度地减少他们在程序理解过程中的工作量。一旦结果被软件工程师传播和采用,他们将更加富有成效,从而改善他们在工作场所的幸福感。在这个奖项的支持下,研究者将把这项研究的结果整合到她的本科和研究生课程中,在那里她将教学生如何编写更容易理解的软件。该奖项的目标是通过以下方式为“最佳”和“最差”软件实践带来科学:1)使用直接和客观的方法来经验地评估现有实践对开发人员认知负荷的影响;2)使用这些直接和客观的方法来经验地识别新的实践。特别地,该奖项针对的是在缺陷定位和代码审查任务的背景下,与设计、代码和软件审查相关的好的和不好的软件实践(分别是模式和反模式)。中心假设是软件开发实践会影响开发人员在理解源代码时所经历的认知负荷。为了验证中心假设,将主要使用功能近红外光谱(fNIRS)和眼球追踪设备进行一系列对照实验。一旦确定了软件开发实践对程序理解的影响,研究者将推荐如何开发和维护软件的指导方针:1)最初的开发人员和软件维护者需要更少的脑力劳动才能理解;2)它将更容易维护。拟议研究的结果也有望被整合到自动推荐工具中,以改进基于经验验证实践的推荐。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
Software engineers spend the majority of their time reading and understanding software that they or someone else has written. Several catalogs have emerged from academia and industry documenting good and poor practices to make software more flexible, modular, reusable, and understandable. However, those practices are based on experts' opinions, i.e., researchers and software engineers, and not on empirical evidence. Thus, very little is known about the effect of those practices on developers when they read and understand software. With the recent adoption of high-resolution medical imaging technologies in software engineering, the investigator proposes to bring the science behind "best and worst practices" by empirically validating the impact of existing software practices on program comprehension. Moreover, the investigator will identify new practices using scientific methods as opposed to experts' opinions. The proposed work is expected to facilitate new research in the field of software engineering and beyond as it provides a general methodology to objectively measure program comprehension and to empirically evaluate and identify existing and new practices. The outcomes of this research will result in guidelines for students and software engineers on how to write software that minimizes their effort during program comprehension. Once the results have been disseminated and adopted by software engineers, they will be more productive, thus improving their well-being at the workplace. With support from this award, the investigator will integrate the results from this research in her undergraduate and graduate courses where she would teach student how to write software that is easier to understand.The objective of this award is to bring science behind "best" and "worst" software practices by 1) using direct and objective measures to empirically evaluate the impact of existing practices on developers' cognitive load and 2) using those direct and objective measures to empirically identify new practices. In particular, the award targets good and poor software practices (i.e., patterns and antipatterns, respectively) pertaining to the design, code, and reviews of software in the context of bug localization and code review tasks. The central hypothesis is that software development practices impact the cognitive load that developers experience while understanding source code. To test the central hypothesis, mainly a series of controlled experiments will be conducted using a functional near-infrared spectroscopy (fNIRS) and an eyetracking devices. Once the impact of software development practices on program comprehension has been determined, the investigator will recommend guidelines for how to develop and maintain software in a way that 1) it will require less mental effort to be understood by the original developers and by software maintainers; and 2) it will be easier to maintain. The results of the proposed research are also expected to be integrated into automatic recommender tools to improve their recommendations based on empirically validated practices.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.
期刊论文(1)
专著(0)
科研奖励(0)
会议论文
CRII: SHF: Quantifying the Impact of Poor Quality Lexicon on Developers' Cognitive Load.
-
批准号:1755995
-
项目类别:Standard Grant
-
资助金额:$17.16万
-
财政年份:2018
-
负责人:Venera Arnaoudova
-
依托单位:
海外基金