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
中文摘要
这个项目将研究软件开发人员在互联网上搜索能够适应他们目标的源代码的过程,并将设计工具来支持这类工作的决策。在软件开发项目的过程中,在互联网上搜索源代码已经变得司空见惯。在正确的时间定位用于原样重用的正确组件或参考示例可能会对项目的进度产生重大影响。当删除或选择返回的匹配项时,搜索过程中有许多关键决策点。这些判断需要某种形式的程序理解,尽管这是以前没有研究过的。目前在程序理解方面的研究一直关注软件开发人员如何形成单个源代码如何工作的心理模型,以便执行维护任务。在互联网规模的代码搜索环境中的程序理解包括在不纠缠于内部的情况下识别候选代码的特征。互联网规模的代码搜索是探索性的、迭代的和开放式的,因此在整个过程中都要做出相关性和适宜性的判断。相关性判断由软件开发人员在可用匹配中确定有前途的候选对象时做出。这些决定是快速的,只需要几秒钟,而且使用的信息相对较少。在确定一个有前途的候选人是否适合软件项目时,会进行适宜性判断。这些决策速度较慢,通常需要进行仔细的成本效益分析。在这个项目中,将研究这两种类型的判断,目的是为互联网规模的代码搜索创造更好的工具。通过了解开发人员如何在选项之间做出决定,他们用来理解匹配的提示,以及他们犯的错误种类,就有可能提供匹配,以便他们可以更快、更准确地找到所需的源代码。这项研究将包括三个部分:在受控环境下研究相关性和适宜性判断的实验室实验;在背景下检查搜索过程的实地研究;以及对现有研究平台--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
-
依托单位:
海外基金