课题基金 / 基金详情

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
海外基金