The interleaving problem in program understanding
- 1 January 1995
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 166-175
- https://doi.org/10.1109/wcre.1995.514705
Abstract
One of the factors that can make a program difficult to understand is that code responsible for accomplishing more than one purpose may be woven together in a single section. We call this interleaving, and it may arise either intentionally-for example, in optimizing a program, a programmer may use some intermediate result for several purposes-or unintentionally, due to patches, quick fixes, or other hasty maintenance practices. To understand this phenomenon, we have looked at a variety of interleaving instances in actual programs and have distilled characteristic features. If the characterization proves to be robust then it will enable the design of tools for detection of interleavings and the extraction of the individual strands of computation.Keywords
This publication has 19 references indexed in Scilit:
- A reverse engineering method for identifying reusable abstract data typesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Automated support for encapsulating abstract data typesPublished by Association for Computing Machinery (ACM) ,1994
- Automated support for legacy code understandingCommunications of the ACM, 1994
- Program understanding and the concept assignment problemCommunications of the ACM, 1994
- A memory-based approach to recognizing programming plansCommunications of the ACM, 1994
- Automated program understanding by concept recognitionAutomated Software Engineering, 1994
- Automated Program Recognition by Graph ParsingPublished by Defense Technical Information Center (DTIC) ,1992
- Delocalized Plans and Program ComprehensionIEEE Software, 1986
- System Structure Analysis: Clustering with Data BindingsIEEE Transactions on Software Engineering, 1985
- Program SlicingIEEE Transactions on Software Engineering, 1984