CAREER: Program Comprehension in Internet-Scale Code Search for Open Source Reuse in Opportunistic Software Development
CAREER: Program Comprehension in Internet-Scale Code Search for Open Source Reuse in Opportunistic Software Development
批准号:
0846034
负责人:
Susan Sim
金额:
$49.84万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2009
资助国家:
美国
项目状态:
已结题
起止时间:
2009-10-01 至 2014-09-30
中文摘要
这个项目将研究从事在互联网上搜索源代码的软件开发人员,这些源代码可以适应他们的目标,它将设计工具来支持这类工作中的决策。在软件开发项目的过程中,在Internet上搜索源代码已经变得司空见惯。在正确的时间为现有的重用定位正确的组件或参考示例可以对项目的进展产生重大影响。在搜索过程中有许多关键决策点,当返回的匹配被淘汰或选择时。这些判断需要一种形式的程序理解,尽管以前没有研究过。当前对程序理解的研究关注的是软件开发人员如何形成心智模型来理解单个源代码体如何工作以执行维护任务。在互联网规模的代码搜索环境中,程序理解涉及识别候选代码片段的特征,而不会被其内部结构所纠缠。互联网规模的代码搜索是探索性的、迭代的和开放式的,因此在整个过程中都要做出相关性和适用性的判断。相关性判断是由软件开发人员在可用匹配中识别有希望的候选人时做出的。这些决定是快速的,只需要几秒钟,使用相对较少的信息。当确定一个有前途的候选人是否适合软件项目时,要做出适宜性判断。这些决定比较慢,通常需要仔细的成本效益分析。在这个项目中,我们将研究这两种类型的判断,目的是为互联网规模的代码搜索创造更好的工具。通过了解开发人员如何在选项之间做出决定、他们用来理解匹配的线索以及他们所犯的错误类型,就有可能呈现匹配,以便他们能够更快、更准确地找到所需的源代码。研究将有三个组成部分:实验室实验,研究在受控环境下的相关性和适宜性判断;实地研究,以检查搜索过程的背景;并对现有的研究平台Sourcerer代码搜索引擎进行了改进。这个项目的评估标准是新的知识、技术和原型是否在互联网规模的代码搜索过程中减少了相关性和适用性判断的错误。本研究的预期结果是:理解在互联网规模的代码搜索背景下发生的程序理解;搜索和理解过程的模型;在相关性和适宜性判断中使用的线索的特征;以及支持这一过程的原型搜索工具。这些结果可能会产生深远的影响,因为机会主义软件开发和开源重用已经成为广泛采用的策略。这些实践允许软件开发人员利用软件组件和知识的全球供应链,他们可以使用这些组件和知识来实现新的产品和服务理念,以跟上社会、经济和公司的需求。准确和快速的相关性和适用性判断是成功应用这些战略的关键。这个项目的教育部分将使学生为目前正在形成的非常不同的软件开发世界做好准备。
英文摘要
This project will study software developers engaged in the process of searching the Internet for source code that can be adapted to their goals, and it will design tools to support decision-making in this kind of work. It has become commonplace to search the Internet for source code in the course of a software development project. Locating the right component for as-is reuse or a reference example at the right time can have significant impact on the how the project progresses. There are a number of critical decision points in the search process, when the matches returned are eliminated or selected. These judgments require a form of program comprehension, though one that not been studied previously. Current research in program comprehension has been concerned with how software developers form mental models of how a single body of source code works in order to perform a maintenance task. Program comprehension in the context of Internet-scale code search involves discerning the characteristics of a candidate piece of code without becoming entangled in the internals.Internet-scale code search is exploratory, iterative, and open-ended, so both relevance and suitability judgments are made throughout the process. Relevance judgments are made by software developers while identifying promising candidates among the available matches. These decisions are rapid, taking only a few seconds, and use relatively little information. Suitability judgments are made when determining whether a promising candidate is appropriate for the software project. These decisions are slower and typically involve a careful cost-benefit analysis. In this project, both types of judgments will be studied with the aim of creating better tools for Internet-scale code search. By understanding how developers decide between options, the cues that they use to comprehend the match, and the kinds of errors that they make, it is possible to present matches so they can find the desired source code more quickly and accurately. The research will have three components: laboratory experiments to study relevance and suitability judgments in a controlled setting; field studies to examine the search process in context; and refinements to an existing research platform, the Sourcerer code search engine. The evaluation criterion for this project is whether the new knowledge, techniques, and prototypes have reduced errors in relevance and suitability judgments during Internet-scale code search for opportunistic software development.The expected outcomes of the research are: an understanding of the program comprehension that occurs in the context of Internet-scale code search; a model of the search and comprehension process; a characterization of the cues that are used in relevance and suitability judgments; and prototype search tools that support this process. These results could have far-reaching impact, because opportunistic software development and open source reuse have become widely adopted strategies. These practices allow software developers to leverage a global supply chain for software components and knowledge that they can use to implement new product and service ideas to keep up with societal, economic, and corporate demands. Accurate and rapid relevance and suitability judgments are essential for the successful application of these strategies. The educational components of this project will prepare students for the very different world of software development that is currently coming into being.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
STS: Doctoral Dissertation Research: Designing Software Orders: Patterns of Governmentality and Authority in Software Practice and Discourse
-
批准号:1028715
-
项目类别:Standard Grant
-
资助金额:$1.31万
-
财政年份:2010
-
负责人:Susan Sim
-
依托单位:
Better Science Through Benchmarking: Theory Validation and Application to Software Engineering
-
批准号:0430026
-
项目类别:Continuing Grant
-
资助金额:$27.0万
-
财政年份:2004
-
负责人:Susan Sim
-
依托单位:
海外基金