skip to main content
10.1145/1865841.1865856acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvinciConference Proceedingsconference-collections
research-article

Semantic comparison of structured visual dataflow programs

Authors Info & Claims
Published:28 September 2010Publication History

ABSTRACT

The diff utility is an important basic tool, providing a foundation for many of the fundamental practices of software development, such as source code management. While there are many file differencing tools for textual programming languages, including some that look at more than simple textual variations, there are few for visual programming languages. We present an algorithm for semantic comparison of programs in controlled visual dataflow languages; that is, languages in which dataflow diagrams are embedded in control structures. This algorithm performs depth-first search of call structures comparing embedded diagrams using subgraph isomorphism, to determine if two programs are semantically equivalent, and if they are not, discovers the differences. We use the visual language Prograph for illustration; however, the mechanism we propose could be applied to any controlled dataflow language, such as LabVIEW.

References

  1. }}Anderson, P. and Teitelbaum, T., Software inspection using Codesurfer, in Workshop on Inspection in Software Engineering, 2001.Google ScholarGoogle Scholar
  2. }}Angus, R. B. and Hulbert, T. E., VEE Pro: Practical Graphical Programming, Springer-Verlag, London, 2005.Google ScholarGoogle Scholar
  3. }}Baudet G. M., An analysis of the full alpha-beta pruning algorithm, Proceedings of the tenth annual ACM Smposium on Theory of Computing, pp. 296--313, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}Bitter, R., Mohiuddin, T., and Nawrocki, M., LabVIEW: Advanced Programming Techniques, 2e, CRC Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}Blackwell, A. F., First steps in programming: A rationale for Attention Investment models, Proceedings of the IEEE Symposia on Human-Centric Computing Languages and Environments, Washington DC, Sept. 2002, pp. 2--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}Burstall, R. M. and Darlington, J., A Transformation System for Developing Recursive Programs, Journal of the ACM 24(1), 1977, pp. 44--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}Cordella, L. P., Foggia, P., Sansone, C. and Vento, M., Performance evaluation of the VF graph matching algorithm, Proc. 10th International Conference on Image Analysis and Processing, Venice, Italy, 1999, pp. 1172--1177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}Cox, P. T., Visual Programming Languages, in Encyclopedia of Computer Science and Engineering, B. W. Wah (Ed.), John Wiley & Sons Inc., June 2008.Google ScholarGoogle Scholar
  9. }}Cox, P. T., Giles, F. R. and Pietrzykowski, T. Prograph: a step towards liberating programming from textual conditioning, Proc. 1989 IEEE Workshop on Visual Programming, Rome (Oct 1989), 150--156.Google ScholarGoogle ScholarCross RefCross Ref
  10. }}ENSOFT, SimDiff 2.3 User Manual, 2008.Google ScholarGoogle Scholar
  11. }}Ferrante, J., Ottenstein, K., and Warren, J., The program dependence graph and its use in optimization, ACM Transactions on Programming Languages and Systems, vol. 9, pp. 319--349, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}Grass, J. E., Cdiff: A Syntax Directed Diff for C++ Programs, in USENlX C++ Conference, Portland, OR, 1992, pp. 181--193.Google ScholarGoogle Scholar
  13. }}Horwitz, S., Identifying the semantic and textual differences between two versions of a program, ACM SIGPLAN Notices, vol. 25, no. 6, pp. 234--245, Jun. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}Hunt, J. W. and McIlroy, M. D., An algorithm for differential file comparison, Technical Memo 75-1271-11, Bell Laboratories, October 1975.Google ScholarGoogle Scholar
  15. }}Jackson, D. and Ladd, D. A., Semantic Diff: A tool for summarizing the effects of modifications, Proceedings of the International Conference on Software Maintenance, Victoria, BC, Canada, 1994, pp. 243--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. }}Johnston, W. M., Hanna, J. R. P. and Millar, R. J., Advances in dataflow programming languages, ACM Computing Surveys (CSUR), vol. 36, no. 1, pp. 1--34, Mar. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}Karris, S. T., Introduction to Simulink with Engineering Applications, 2e, Orchard Publications, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}McGregor, J. J., Backtrack search algorithms and the maximal common subgraph problem, Software: Practice and Experience, vol. 12, no. 1, pp. 23--34, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  19. }}Miller, W. and Myers, E. W., A file comparison program, Software Practice & Experience, vol. 15, no. 11, pp. 1025--1040, Nov. 1985.Google ScholarGoogle ScholarCross RefCross Ref
  20. }}Myers, E. W., An O(ND) difference algorithm and its variations, Algorithmica 1(2), 1986, pp. 251--266.Google ScholarGoogle ScholarCross RefCross Ref
  21. }}Prograph CPX User Guide. Halifax, Canada: Pictorius Incorporated, 1996.Google ScholarGoogle Scholar
  22. }}Rowe, R. and Burns, J., Prograph CPX Qualitative Research, Riley Rowe and Associates, (1995)Google ScholarGoogle Scholar
  23. }}Ukkonen, E., Algorithms for Approximate String Matching, Information and Control, vol. 64, no. 1--3, pp. 100--118, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. }}Wilson, S. 1997. Building a Visual Programming Language. Mac-Tech, 13, 4 (1997). Available at: http://www.mactech.com/articles/mactech/Vol. 13/13.04/Spreadsheet2000/Google ScholarGoogle Scholar

Index Terms

  1. Semantic comparison of structured visual dataflow programs

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            VINCI '10: Proceedings of the 3rd International Symposium on Visual Information Communication
            September 2010
            149 pages
            ISBN:9781450304368
            DOI:10.1145/1865841

            Copyright © 2010 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 28 September 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate71of193submissions,37%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader