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.
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.
Freuder, E., and Wallace, J. 1992. Partial constraint satisfaction. Artificial Intelligence, 58:21–70.
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.
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.
Kozaczynski, V., Ning, J. Q.; and Engberts, A. 1992. Program Concept Recognition and Transformation. Transactions on Software Engineering, 18(12):1065–1075.
Kumar, V. 1992. Algorithms for Constraint-Satisfaction Problems. AI Magazine, 13(1):32–44.
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.
Nadel, B. A., Constraint satisfaction algorithms. 1989. Computational Intelligence, 5:188–224.
Prosser, P. 1993. Hybrid algorithms for the constraint satisfaction problem. Computational Intelligence, 9(3):268–299.
Quilici, A. 1994. A Memory-Based Approach to Recognizing Programming Plans. Communications of the ACM, 37(5):84–93.
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.
Wills, L. M. 1990. Automated Program Recognition: A Feasibility Demonstration. Artificial Intelligence, 45(1–2):113–172.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008674909165