Multistaging to understand: Distilling the essence of java code examples

Multistaging to understand: Distilling the essence of java code examples
复制标题

理解多阶段:提炼java代码示例的本质

DOI:
10.1109/icpc.2016.7503708
复制
发表时间:
2016
期刊:
2016 IEEE 24th International Conference on Program Comprehension (ICPC)
影响因子:
--
通讯作者:
Martin Schaf
Martin Schaf
中科院分区:
--
文献类型:
--
作者:
H. Sánchez;J. Whitehead;Martin Schaf

文献摘要

被引文献

相似文献

程序员通常会搜索Web来查找可以帮助他们解决特定编程任务的代码示例。虽然一些新手程序员可能愿意花费尽可能多的时间来理解找到的代码示例,但更有经验的程序员希望花费尽可能少的时间。他们希望快速了解示例的操作,以便可以立即开始使用它。获得这个概述通常是不平凡的,需要一个繁琐的手动检查过程。在本文中,我们介绍了一种称为多阶段理解的技术,它通过提取代码示例的本质来简化检查过程。代码示例的本质传达了示例预期功能的最重要方面。我们的技术自动将示例中的代码分解为可以非顺序探索的代码阶段,从而实现快速的探索性学习。我们讨论了我们的技术的关键组成部分,并描述基于StackOverflow上的实际代码示例的经验结果。
Programmers commonly search the Web to find code examples that can help them solve a specific programming task. While some novice programmers may be willing to spend as much time as needed to understand a found code example, more experienced ones want to spend as little time as possible. They want to get a quick overview of the example's operation, so they can start working with it immediately. Getting this overview is often non-trivial and requires a tedious and manual inspection process. In this paper, we introduce a technique called Multi-staging to Understand, which streamlines this inspection process by distilling the essence of code examples. The essence of a code example conveys the most important aspects of the example's intended function. Our technique automatically decomposes the code in an example into code stages that can be explored non-sequentially; enabling fast exploratory learning. We discuss the key components of our technique and describe empirical results based on actual code examples on StackOverflow.