| Identifying procedural structure in Cobol programs |
| Full text |
Pdf
(1.07 MB)
|
| Source
|
Workshop on Program Analysis for Software Tools and Engineering
archive
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
table of contents
Toulouse, France
Pages: 1 - 10
Year of Publication: 1999
ISBN:1-58113-137-2
Also published in ...
|
|
Authors
|
|
John Field
|
IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY
|
|
G. Ramalingam
|
IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 8, Downloads (12 Months): 56, Citation Count: 4
|
|
|
ABSTRACT
The principal control-flow abstraction mechanism in the Cobol language is the perform statement. Normally, perform statements are used in a straightforward manner to define parameterless procedures (where global variables are used to pass data into and out of procedure bodies). However, unlike most procedural constructs, distinct performed procedures can share code in arbitrarily complicated ways. In addition, performs can also be used in such a way as to cause transfers of control that do not correspond to normal call/return semantics.In this paper, we show how a Cobol program can be efficiently transformed into a semantically-equivalent procedurally well-structured representation, in which conventional procedures (i.e., with the usual call and return semantics and without code sharing) and procedure call statements replace performed code and perform statements. This transformation process properly accounts for the non-procedural control flow that can result from ill-behaved perform statements.The program representation derived from our analysis can be used directly in program understanding applications, program restructuring tools, and inter-language translators. In addition, it can be used as the starting point for a variety of context-sensitive program analyses, e.g., program slicing.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
| |
3
|
HOLLEY, L. H., AND ROSEN, B. K. Qualified data flow problems. IEEE Trans. Software Eng. SE-7, 1 (January 1981), 60-78.
|
| |
4
|
IBM CORPORATION. IBM Cobol for MVS & VM Language Reference. IBM Corporation, San Jose, CA, 1995. Publication Number SC26-4769-01.
|
| |
5
|
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION (ISO). Committee Draft 1.5, Proposed revision of ISO 1989: 1985, Programming Language Cobol. Available at URL http://people.ne.mediaone.net/pennyjs/home.htm, April 1999.
|
| |
6
|
|
| |
7
|
|
 |
8
|
Thomas Reps , Susan Horwitz , Mooly Sagiv, Precise interprocedural dataflow analysis via graph reachability, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.49-61, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199462]
|
 |
9
|
|
| |
10
|
SHARIR, M., AND PNUELI, A. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice-Hall, Englewood Cliffs, NJ, 1981, ch. 7, pp. 189- 233.
|
| |
11
|
P, F. A survey of pragram slicing techniques. Journal of Programming Languages3,3 (1995), 121-189.
|
CITED BY 4
|
|
|
|
|
|
|
|
Mark Harman , Lin Hu , Malcolm Munro , Xingyuan Zhang , Dave Binkley , Sebastian Danicic , Mohammed Daoudi , Lahcen Ouarbya, Syntax-Directed Amorphous Slicing, Automated Software Engineering, v.11 n.1, p.27-61, January 2004
|
|
|
|
|