Proceedings of IEEE 18th International Conference on Software Engineering
DOI: 10.1109/icse.1996.493397
|View full text |Cite
|
Sign up to set email alerts
|

The program understanding problem: analysis and a heuristic approach

Abstract: Program understanding is the process of making sense of a complex source code. This process has been considered as computationally dificult and conceptually complex. So fal; no formal complexity results have been presented, and conceptual models differ from one researcher to the next.In this paper we formally prove that program understanding is NP-had. Furthermore, we show that even a much simpler subproblem remains NP-hard. Howevel; we do not despair by this result, but rathel; offer an attractive problem-sol… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
17
0

Publication Types

Select...
3
2
1

Relationship

1
5

Authors

Journals

citations
Cited by 21 publications
(17 citation statements)
references
References 11 publications
0
17
0
Order By: Relevance
“…A case can be thought of as several inferences chunked together, which can be used to solve a new problem in one step rather than many small inference steps. The case holds these inferences together so that the system does not have to search the space of possible inferences, which could lead to combinatorial explosion (code understanding is an NP-complete problem [9]). …”
Section: The Applicability Of Cbr To Code Understandingmentioning
confidence: 99%
“…A case can be thought of as several inferences chunked together, which can be used to solve a new problem in one step rather than many small inference steps. The case holds these inferences together so that the system does not have to search the space of possible inferences, which could lead to combinatorial explosion (code understanding is an NP-complete problem [9]). …”
Section: The Applicability Of Cbr To Code Understandingmentioning
confidence: 99%
“…Research often included comparing data flow and/or control flow graphs derived from analysis of a source program to an a priori library of known constructs [12,13,20]. However, much research in this golden age of code understanding (mid-1980s to mid-1990s) focused on formal non-heuristic program comprehension which was shown by Woods and Yang [27] to be NP-hard. For this reasons, heuristic approaches acquired new importance [27].…”
Section: Introductionmentioning
confidence: 98%
“…• Woods and Yang (1996a) present an examination of the complexity of the program understanding task and a discussion of how the various problem aspects contribute to problem complexity. The paper suggests the likely success of using a constraint-based control of search as a means of mediating this complexity in practice.…”
Section: Forewordmentioning
confidence: 99%
“…• Woods et al (1997) is a mature, carefully restructured review of the interpretation of program understanding as a process of constraint-based concept recovery. This book brings together the entire range of material published by the authors between 1995 and 1997 in a single, comprehensive framework.…”
Section: Forewordmentioning
confidence: 99%
See 1 more Smart Citation