[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1595356.1595372acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
research-article

Algorithm recognition by static analysis and its application in students' submissions assessment

Published: 13 November 2008 Publication History

Abstract

Automatic program comprehension (PC) has been extensively studied for decades. It has been studied mainly from two different points of view: understanding the functionality of a program and understanding program structure. In this paper, we address the problem of automatic algorithm recognition and introduce a method based on static analysis to recognize algorithms. We discuss the applications of the method in the context of automatic assessment to widen the scope of programming assignments that can be checked automatically.

References

[1]
K. Ala-Mutka and H.-M. Järvinen. Assessment process for programming assignments. Advanced Learning Technologies, 2004. Proceedings. IEEE International Conference on, pages 181--185, 30 Aug.--1 Sept. 2004.
[2]
H. A. Basit and S. Jarzabek. Detecting higher-level similarity patterns in programs. In Proceedings of the 10th European Software Engineering Conference, pages 156--165. ACM, 2005.
[3]
I. Burnstein and F. Saner. An application of fuzzy reasoning to support automated program comprehension. In Proceedings of Seventh International Workshop on Program Comprehension, 1999., pages 66--73. IEEE, 1999.
[4]
S. Edwards. Improving student performance by evaluating how well students test their own programs. Journal on Educational Resources in Computing, 3(3):1--24, 2003.
[5]
B. S. Elenbogen and N. Seliya. Detecting outsourced student programming assignments. In Journal of Computing Sciences in Colleges, pages 50--57. ACM, 2007.
[6]
A. Erdem, W. L. Johnson, and S. Marsella. Task oriented software understanding. In Proceedings of the 13th IEEE International Conference on Automated Software Engineering, pages 230--239. IEEE, 1998.
[7]
M. Halstead. Elements of Software Science. North Holland, New York. Elsevier, 1977.
[8]
M. Harandi and J. Ning. Knowledge-based program analysis. Software IEEE, 7(4):74--81, January 1990.
[9]
C. Higgins, P. Symeonidis, and A. Tsintsifas. The marking system for CourseMaster. In Proceedings of the 7th annual conference on Innovation and Technology in Computer Science Education, pages 46--50. ACM Press, 2002.
[10]
W. Johnson and S. E. Proust: Knowledge-based program understanding. In IEEE Transactions on Software Engineering, volume SE-11, Issue 3, March 1985, pages 267--275. IEEE, 1984.
[11]
J. Joiner, W. Tsai, X. Chen, S. Subramanian, J. Sun, and H. Gandamaneni. Data-centered program understanding. In Proceedings of International Conference on Software Maintenance, pages 272--281. IEEE, 1994.
[12]
M. Joy, N. Griffiths, and R. Boyatt. The BOSS online submission and assessment system. In ACM Journal on Educational Resources in Computing, volume 5, number 3, September 2005. Article 2. ACM, 2005.
[13]
T. J. McCabe. A complexity measure. In IEEE Transactions on Software Engineering, volume SE-2, number 4, December 1976, pages 308--320, 1976.
[14]
D. Ourston. Program recognition. In IEEE Expert, volume: 4, Issue: 4, Winter 1989, pages 36--49. IEEE, 1989.
[15]
A. Quilici. A memory-based approach to recognizing programming plans. In Communications of the ACM, volume 37, Issue 5, pages 84--93. ACM, 1994.
[16]
A. Quilici. Reverse engineering of legacy systems: a path toward success. In Proceedings of the 17th international conference on Software engineering, pages 333--336. ACM, 1995.
[17]
M. J. Rees. Automatic assessment aids for Pascal programs. SIGPLAN Notices, 17(10):33--42, 1982.
[18]
S. S. Robinson and M. L. Soffa. An instructional aid for student programs. In Proceedings of the eleventh SIGCSE technical symposium on Computer science education, pages 118--129. ACM, 1980.
[19]
R. Saikkonen, L. Malmi, and A. Korhonen. Fully automatic assessment of programming exercises. In Proceedings of the 6th Annual SIGCSE/SIGCUE Conference on Innovation and Technology in Computer Science Education, ITiCSE'01, pages 133--136, Canterbury, UK, 2001. ACM Press, New York.
[20]
J. Sajaniemi. An empirical analysis of roles of variables in novice-level procedural programs. In Proceedings of IEEE 2002 Symposia on Human Centric Computing Languages and Environments, pages 37--39. IEEE Computer Society, 2002.
[21]
S. Woods and Q. Yang. The program understanding problem: analysis and a heuristic approach. In 18th International Conference on Software Engineering (ICSE'96), pages 6--15. IEEE, 1996.

Cited By

View all
  • (2024)A Rule-Based Algorithm and Its Specializations for Measuring the Complexity of Software in Educational Digital EnvironmentsComputers10.3390/computers1303007513:3(75)Online publication date: 11-Mar-2024
  • (2023)Analysis of Program Representations Based on Abstract Syntax Trees and Higher-Order Markov Chains for Source Code Classification TaskFuture Internet10.3390/fi1509031415:9(314)Online publication date: 18-Sep-2023
  • (2020)BTRecurTutor: a tutorial for practicing recursion in binary treesComputer Science Education10.1080/08993408.2020.1714533(1-33)Online publication date: 20-Jan-2020

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
Koli '08: Proceedings of the 8th International Conference on Computing Education Research
November 2008
127 pages
ISBN:9781605583853
DOI:10.1145/1595356
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 November 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithm recognition
  2. automatic grading
  3. program analysis

Qualifiers

  • Research-article

Conference

Koli '08

Acceptance Rates

Overall Acceptance Rate 80 of 182 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)3
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A Rule-Based Algorithm and Its Specializations for Measuring the Complexity of Software in Educational Digital EnvironmentsComputers10.3390/computers1303007513:3(75)Online publication date: 11-Mar-2024
  • (2023)Analysis of Program Representations Based on Abstract Syntax Trees and Higher-Order Markov Chains for Source Code Classification TaskFuture Internet10.3390/fi1509031415:9(314)Online publication date: 18-Sep-2023
  • (2020)BTRecurTutor: a tutorial for practicing recursion in binary treesComputer Science Education10.1080/08993408.2020.1714533(1-33)Online publication date: 20-Jan-2020

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media