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)它将更容易维护。拟议的研究结果也有望被整合到自动推荐工具中,以基于经验验证的实践来改进他们的推荐。这一奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
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
-
依托单位:
海外基金