Skip to main content
Log in

Toward A Constraint-Satisfaction Framework for Evaluating Program-Understanding Algorithms

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Different program understanding algorithms often use different representational frameworks and take advantage of numerous heuristic tricks. This situation makes it is difficult to compare these approaches and their performance. This paper addresses this problem by proposing constraint satisfaction as a general framework for describing program understanding algorithms, demonstrating how to tranform a complex existing program understanding algorithm into an instance of a constraint satisfaction problem, and showing how facilitates better understanding of its performance.

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

  • Chin, D., and Quilici, A. 1996. DECODE: A Cooperative Program Understanding Environment. Journal of Software Maintenance, 8(1).

  • Dechter, R. 1992. From local to global consistency. Artificial Intelligence, 55:87–107.

    Google Scholar 

  • Freuder, E., and Wallace, J. 1992. Partial constraint satisfaction. Artificial Intelligence, 58:21–70.

    Google Scholar 

  • Hartman, J. 1991. Understanding Natural Programs using Proper Decomposition. Proceedings of the International Conference on Software Engineering. Austin TX, pp. 62–73.

  • Johnson, W. L. 1986. Intention Based Diagnosis of Novice Programming Errors. Los Altos, CA: Morgan Kaufman.

    Google Scholar 

  • Kondrak, G., and Van Beek, P. 1995. A theoretical evaluation of selected backtracking algorithms. Proceedings of the 14th International Joint Conference on Artificial Intelligence, pp. 541–547.

  • Kozaczynski, V., and Ning, J. Q. 1994. Automated Program Understanding By Concept Recognition, Automated Software Engineering, 1(1):61–78.

    Google Scholar 

  • Kozaczynski, V., Ning, J. Q.; and Engberts, A. 1992. Program Concept Recognition and Transformation. Transactions on Software Engineering, 18(12):1065–1075.

    Google Scholar 

  • Kumar, V. 1992. Algorithms for Constraint-Satisfaction Problems. AI Magazine, 13(1):32–44.

    Google Scholar 

  • Minton, S., Johnston, M., Philips, A., and Laird, P. 1992. Minimizing conflicts: a heuristic repair method for constraint satisfaction and scheduling problems. Artificial Intelligence, 58:161–205.

    Google Scholar 

  • Nadel, B. A., Constraint satisfaction algorithms. 1989. Computational Intelligence, 5:188–224.

    Google Scholar 

  • Prosser, P. 1993. Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence, 9(3):268–299.

    Google Scholar 

  • Quilici, A. 1994. A Memory-Based Approach to Recognizing Programming Plans. Communications of the ACM, 37(5):84–93.

    Google Scholar 

  • Quilici, A. 1993. A Hybrid Approach to Recognizing Programming Plans. Proceedings of the Working Conference on Reverse Engineering, Baltimore, MD, pp. 126–133.

  • Sosic, R., and Gu, J. 1990. A polynomial time algorithm for the n-queens problem. SIGART, 1(3).

  • Von Mayhrhauser, A. and Vans, A. M. 1995. Program comprehension during software maintenance and evolution. IEEE Computer, pp. 44–55.

  • Wills, L. M. 1992. Automated Program Recognition by Graph Parsing. Ph.D. Thesis, MIT Artificial Intelligence Lab, Technical Report 1358, Cambridge, MA.

    Google Scholar 

  • Wills, L. M. 1990. Automated Program Recognition: A Feasibility Demonstration. Artificial Intelligence, 45(1–2):113–172.

    Google Scholar 

  • Woods, S., and Yang, Q. 1995a. Constraint-based plan recognition in legacy code. Working Notes of the Third Workshop on AI and Software Engineering: Breaking the Toy Mold (AISE-95).

  • Woods, S., and Yang, Q. 1995b. Program Understanding As Constraint Satisfaction. Proceedings of the IEEE Seventh International Workshop on Computer-Aided Software Engineering (CASE-95), Toronto, CA, pp. 318–327.

  • Woods, S., and Yang, Q. 1996. The Program Understanding Problem: Analysis and A Heuristic Approach. In Proceedings of the 18th International Conference on Software Engineering (ICSE-96), Berlin, Germany.

  • Yang, Q. and Fong, P. 1992. Solving partial constraint satisfaction problems using local search and abstraction. University of Waterloo, Technical Report CS-92-50, Waterloo, Ontario.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Quilici, A., Woods, S. Toward A Constraint-Satisfaction Framework for Evaluating Program-Understanding Algorithms. Automated Software Engineering 4, 271–289 (1997). https://doi.org/10.1023/A:1008674909165

Download citation

  • Issue Date:

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

Navigation