Concepedia

TLDR

Programmers decompose large codebases into contiguous functional or modular units such as functions, subroutines, modules, or abstract data types. The study shows that during debugging, programmers routinely use noncontiguous slices—groups of statements linked by data flow—to analyze unfamiliar code.

Abstract

Computer programmers break apart large programs into smaller coherent pieces. Each of these pieces: functions, subroutines, modules, or abstract datatypes, is usually a contiguous piece of program text. The experiment reported here shows that programmers also routinely break programs into one kind of coherent piece which is not coniguous. When debugging unfamiliar programs programmers use program pieces called slices which are sets of statements related by their flow of data. The statements in a slice are not necessarily textually contiguous, but may be scattered through a program.

References

YearCitations

Page 1