Skip to main content
Log in

The Control Structure Diagram: An Overview and Initial Evaluation

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

A new graphical representation, the Control Structure Diagram (CSD), has been created to visualize software at both the source code and program design language (PDL) level. The primary impetus for creation of the CSD was to improve the comprehension efficiency of software and, as a result, improve reliability and reduce costs. The CSD has the potential to replace traditional prettyprinted source code. As part of the GRASP (Graphical Representations of Algorithms, Structures, and Processes) research project at Auburn University, the GRASP software engineering tool has been successfully developed. GRASP automatically generates CSDs from source code written in Ada, C, C++, Java, and VHDL. The emphasis to this point has been on the automatic generation of the CSD to support development, maintenance, reverse engineering and reengineering through the use of GRASP. GRASP has been applied successfully to numerous programs ranging in size from several hundred to several thousand lines of source code and is efficient and sufficiently flexible for use in a production setting. To demonstrate the potential benefits of the CSD and its automatic generation using GRASP, a series of empirical studies has been planned and initiated. First, as reported in this article, the perceived usefulness of the CSD was evaluated using a preference instrument based on eleven performance characteristics in which a comparison was made with other well-known graphical representations for algorithms. Statistical analysis indicated numerous significant differences with a clear preference for the CSD in seven of the eleven performance characteristics. Further empirical studies, currently being implemented, will examine the effect of the CSD and GRASP on objective measures such as comprehension efficiency and effectiveness.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Aoyama, M. 1989. Design specification in japan: Tree-structured charts. IEEE Software: 31–37.

  • Baecker, R. M., DiGiano, C., and Marcus, A. 1997. Software visualization for debugging. Communications of the ACM 40(4): 44–54.

    Google Scholar 

  • Baecker, R. M., and Marcus, A. 1990. Human Factors and Typography for More Readable Programs. ACM Press.

  • Barnes, J. G. P. 1984. Programming in Ada. Menlo Park, CA: Addison-Wesley, 2 edition.

    Google Scholar 

  • Booch, G., and Bryan, D. 1994. Software Engineering with Ada. Benjamin/Cummings, third edition edition.

  • Chikofsky, E., and Cross, J. 1990. Reverse engineering and design recovery-a taxonomy. IEEE Software: 13–17.

  • Conover, W. J. 1980. Practical Nonparametric Statistics. New York: John Wiley and Sons.

    Google Scholar 

  • Cross, J., Chikofski, E. J., and May, C. H. 1992. Reverse engineering. Advances in Computers 35: 199–254.

    Google Scholar 

  • Cross, J., and Sheppard, S. V. 1988. The control structure diagram: An automated graphical representation for software. Proceedings of the 21st Hawaii International Conference on Systems Sciences, vol. 2, IEEE Computer Society Press, 446–454.

    Google Scholar 

  • Cross, J., Sheppard, S. V., and Carlisle, W. H. 1990. Control structure diagrams for ada. Journal of Pascal, Ada, and Modula 2 9(5).

  • Cross, J. H. 1994. Improving comprehensibility of ada with control structure diagrams. Proceedings of the Software Technology Conference, distributed on CD-ROM, 25 pages, April 11–14, Salt Lake City, Utah.

  • Cross, J. H., Chang, K. H., and Hendrix, T. D. 1996. Grasp/ada95: Visualization with control structure diagrams. CrossTalk Journal of Defense Software Engineering 9(1): 27–45.

    Google Scholar 

  • Cross, J. H., and Hendrix, T. D. 1996. Software Visualization, volume 7 of Series on Software Engineering and Knowledge Engineering, chapter Language Independent Program Visualization, 27–45. World Scientific.

    Google Scholar 

  • Curtis, B., Sheppard, S., Kruesi-Bailey, E., Bailey, J., and Boehm-Davis, D. 1989. Experimental evaluation of software documentation formats. Journal of Systems and Software 9: 167–207.

    Google Scholar 

  • Green, T., and Petre, M. 1992. When visual programs are harder to read than textual programs. Proceedings of the Sixth European Conference on Cognitive Ergonomics (ECCE-6), Budapest, Hungary.

  • Green, T., Petre, M., and Bellamy, R. 1991. Comprehensibility of visual and textual programs: A test of superlativism against the match-mismatch conjecture. Empirical Studies of Programmers Fourth Workshop. Ablex.

  • Kissel, G. 1995. Effect of computer experience on subjective and objective software usability measures. Proceedings of the Conference on Human Factors in Computing Systems, 284–295.

  • Linger, R. 1993. Cleanroom software engineering for zero-defect software. Proceedings of the 15th International Conference on Software Engineering, Baltimore, MD, 2–13.

  • Marshall, T. E., Byrd, T. A., Gardiner, L. R., and Rainer, R. K. 1998. Technology acceptance and performance: An investigation into requisite knowledge (forthcoming). Information Resources Management Journal.

  • Martin, J., and McClure, C. 1985. Diagramming Techniques for Analysts and Programmers. Prentice-Hall.

  • McQuaid, P. A., Chang, K. H., and Cross, J. H. 1995. A complexity metric to aid software testing and maintenance. Proceedings of the Decision Sciences Institute 2.

  • Moher, T., Mak, D., Blumenthal, B., and Leventhal, L. 1993. Comparing the comprehensibility of textual and graphical programs: The case of petri nets. Empirical Studies of Programmers: Fifth Workshop, 137–161.

  • Petre, M. 1995. Why looking isn't always seeing: Readership skills and graphical programming. Communications of the ACM 38(6): 33–44.

    Google Scholar 

  • Price, B. A., Baecker, R. M., and Small, I. S. 1993. A principled taxonomy of software visualization. Journal of Visual Languages and Computing 4(3): 211–266.

    Google Scholar 

  • Raeder, G. 1985. A survey of current graphical programming techniques. IEEE Computer 18(8): 11–25.

    Google Scholar 

  • Scanlan, D. A. 1989. Structured flowcharts outperform pseudocode: An experimental comparison. IEEE Software: 28–36.

  • Selby, R. 1985. A comparison of software verification techniques. NASA Software Engineering Laboratory Series SEL-85–001, Goddard Space Flight Center, Greenbelt, Maryland.

    Google Scholar 

  • Shu, N. C. 1988. Visual Programming. New York, New York: Van Norstrand Reinhold, Inc.

    Google Scholar 

  • Tripp, L. L. 1989. A survey of graphical notations for program design. ACM Software Engineering Notes 13(4): 39–44.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cross, J.H., Hendrix, T.D. & Maghsoodloo, S. The Control Structure Diagram: An Overview and Initial Evaluation. Empirical Software Engineering 3, 131–158 (1998). https://doi.org/10.1023/A:1008085415145

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008085415145

Navigation