2016 IEEE 24th International Conference on Program Comprehension (ICPC) (2016)
Austin, TX, USA
May 16, 2016 to May 17, 2016
Huascar Sanchez , SRI International, USA
Jim Whitehead , University of California Santa Cruz, USA
Martin Schaf , SRI International, USA
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.
Java, Indexes, Inspection, Algorithms, Electronic mail, Web search, Engines
H. Sanchez, J. Whitehead and M. Schaf, "Multistaging to understand: Distilling the essence of java code examples," 2016 IEEE 24th International Conference on Program Comprehension (ICPC), Austin, TX, USA, 2016, pp. 1-10.