课题基金 / 基金详情

Empirical Foundational Research on Program Comprehension in Software Engineering

Empirical Foundational Research on Program Comprehension in Software Engineering
软件工程中程序理解的实证基础研究
批准号:
166725071
负责人:
Professor Dr. Rainer Koschke
金额:
$0.0万
依托单位国家:
德国
项目类别:
Research Grants
财政年份:
2010
资助国家:
德国
项目状态:
已结题
起止时间:
2009-12-31 至 2022-12-31

项目摘要

项目成果

Professor Dr. Rainer Koschke的其他基金

相似基金

相关文献

中文摘要
翻译
Rugaber(1995)将程序理解定义为获取关于程序的知识的过程。它是软件维护的一部分。程序理解为有效和高效的更改、调试、重用和文档编制提供了基础。在请求的项目中,我们将在程序理解领域进行基础研究,以基于经验建立的见解为软件工程研究提供更好的指导。为了获得对程序理解过程的全面理解,如行为、工作模式和开发人员的决策,我们还将追求超越经典计算机科学的方法,例如,来自认知科学领域。为此,我们将实证研究以下主题领域:(1)必要性:什么时候需要哪些知识,为什么需要?在特定的任务上下文中需要多少程序理解能力?较低的程序理解是否会导致更多的错误?环境背景如何影响对信息的需求和应用于程序理解的策略?(2)可获得性和感知:哪些知识已经存在于何处以及如何存在?哪些因素影响了开发者对这些知识的认知?在特定的环境中,程序理解需要哪些知识,哪些资源包含这些知识,以及开发人员如何感知这些知识?哪些因素影响了人们在寻找所需信息时的感知能力,并导致了“主动失明”的发生?(3)恢复:哪些缺失的知识是如何恢复的?开发人员在程序理解的哪个阶段执行哪些特定的工作步骤?开发人员如何对程序理解中的具体工作步骤进行优先级排序和组织?系统的上下文相关方法能促进程序理解吗?(4)利用:如何尽可能高效地利用知识?为什么程序理解工具没有在实践中使用?现有的知识应该如何以最佳方式呈现给开发人员?不同的发展任务和发展情况的哪些方面是各自背景的症状,如何确定它们?(推荐)系统如何使用这些方面来提供足够的信息?信息的组织和表示对开发人员的感知有什么影响?为此,我们将应用各种经验方法,特别是其中用于数据获取、调查、观察和访谈的开发环境的工具。
英文摘要
Program comprehension is defined by Rugaber (1995) as the process of acquiring knowledge about a program. It is part of software maintenance. Program comprehension gives the foundation for effective and efficient changes, debugging, reutilisation, and documentation.In the requested project, we will conduct fundamental research in the field of program comprehension to provide better guidance for research in software engineering based on empirically established insights. To gain a comprehensive understanding of the processes involved in program comprehension such as behaviours, work patterns, and decisions of developers, we will also pursue approaches that originate beyond classical computer science, e.g., from the field of cognitive sciences.For this, we will empirically study the following subject areas:(1) Necessity: Which knowledge is needed when and what for? How much program comprehension is required within a specific task context? Does lesser program comprehension lead to more errors? How does the environmental context influence the need for information and the strategies applied for pogram comprehension?(2) Availability and Perception: Which knowledge is already present where and how? Which factors influence the perception of suchknowledge by developers? Which knowledge is needed for program comprehension in specific contexts, which sources do contain it and how is it perceived to be available by developers? Which factors influence the perception in the search of needed information and contribute to the occurrence of "active blindness"?(3) Recovery: Which missing knowledge is how retrieved? Which particular working steps are carried out by developers in what stage of program comprehension? How are the specific working steps in program comprehension prioritized and organized by developers? Can a systematic context-dependent approach facilitate program comprehension?(4) Utilisation: How is knowledge utilised as efficient and effective as possible? Why are tools for program comprehension not utilised in practice? How should existing knowledge optimally be presented to developers? Which aspects of distinct development tasks and development situations are symptomatical for the respective contexts and how are they to be identified? How can (recommendation-) systems use those aspects to provide adequate information? What influence has the organisation and representation of information to the perception by developers?For this, we will apply various empirical methods, particularly among them instrumentation of development environments for data acquisition, surveys, observations, and interviews.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Recognition and validation of security patterns
Empirical research on the impact and evolution of Bad Smells
Support for correct evolution of software product lines
Empirische Untersuchungen von Methoden und Entwicklung von Werkzeugen für das kosteneffektive Klonmanagement
海外基金