Efficient Structural Analysis of Source Code for Large Scale Applications in Education

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Adrian Kögl
  • Peter Hubwieser
  • Mike Talbot
  • Johannes Krugel
  • Michael Striewe
  • Michael Goedicke

External Research Organisations

  • Columbia University
  • Technical University of Munich (TUM)
  • University of Duisburg-Essen
View graph of relations

Details

Original languageEnglish
Title of host publicationProceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022
EditorsMohammed Jemni, Ilhem Kallel, Abdeljalil Akkari
PublisherIEEE Computer Society
Pages24-30
Number of pages7
ISBN (electronic)9781665444347
ISBN (print)978-1-6654-4435-4
Publication statusPublished - 2022
Event13th IEEE Global Engineering Education Conference, EDUCON 2022 - Tunis, Tunisia
Duration: 28 Mar 202231 Mar 2022

Publication series

NameIEEE Global Engineering Education Conference, EDUCON
Volume2022-March
ISSN (Print)2165-9559
ISSN (electronic)2165-9567

Abstract

Automated Assessment Systems (AAS) are increasingly used in large computer science lectures to evaluate student solutions to programming assignments. The AAS normally carries out static and dynamic analysis of the program code. In addition, simple forms of learning analytics can often be generated quite easily. However, structural analyses and comparison of solutions for larger sets of student programs are, in many cases, complicated and time-consuming. In this article, we introduce a methodology with which thousands of programs can be analyzed in less than a second, for example, to search for the use of certain control structures or the application of recursion. For this purpose, we have developed a software that creates a structural representation for each programming solution in the form of a TGraph, which is inserted into a graph database using Neo4j. On this database, we can search for structural features by queries in the language Cypher. We have tested this methodology extensively for Java programs, measured its performance, and validated the results. Our software can also be applied to programs in other programming languages, such as Scratch. Additionally, we plan to make our software available to the community.

Keywords

    Automated assessment systems, graph database, introductory lectures, large-scale education, learning analytics, programming assignments, source code representation, structural code analysis

ASJC Scopus subject areas

Cite this

Efficient Structural Analysis of Source Code for Large Scale Applications in Education. / Kögl, Adrian; Hubwieser, Peter; Talbot, Mike et al.
Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022. ed. / Mohammed Jemni; Ilhem Kallel; Abdeljalil Akkari. IEEE Computer Society, 2022. p. 24-30 (IEEE Global Engineering Education Conference, EDUCON; Vol. 2022-March).

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Kögl, A, Hubwieser, P, Talbot, M, Krugel, J, Striewe, M & Goedicke, M 2022, Efficient Structural Analysis of Source Code for Large Scale Applications in Education. in M Jemni, I Kallel & A Akkari (eds), Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022. IEEE Global Engineering Education Conference, EDUCON, vol. 2022-March, IEEE Computer Society, pp. 24-30, 13th IEEE Global Engineering Education Conference, EDUCON 2022, Tunis, Tunisia, 28 Mar 2022. https://doi.org/10.1109/educon52537.2022.9766748
Kögl, A., Hubwieser, P., Talbot, M., Krugel, J., Striewe, M., & Goedicke, M. (2022). Efficient Structural Analysis of Source Code for Large Scale Applications in Education. In M. Jemni, I. Kallel, & A. Akkari (Eds.), Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022 (pp. 24-30). (IEEE Global Engineering Education Conference, EDUCON; Vol. 2022-March). IEEE Computer Society. https://doi.org/10.1109/educon52537.2022.9766748
Kögl A, Hubwieser P, Talbot M, Krugel J, Striewe M, Goedicke M. Efficient Structural Analysis of Source Code for Large Scale Applications in Education. In Jemni M, Kallel I, Akkari A, editors, Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022. IEEE Computer Society. 2022. p. 24-30. (IEEE Global Engineering Education Conference, EDUCON). doi: 10.1109/educon52537.2022.9766748
Kögl, Adrian ; Hubwieser, Peter ; Talbot, Mike et al. / Efficient Structural Analysis of Source Code for Large Scale Applications in Education. Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022. editor / Mohammed Jemni ; Ilhem Kallel ; Abdeljalil Akkari. IEEE Computer Society, 2022. pp. 24-30 (IEEE Global Engineering Education Conference, EDUCON).
Download
@inproceedings{8089fc6bcda44001b7c2d544f68a9161,
title = "Efficient Structural Analysis of Source Code for Large Scale Applications in Education",
abstract = "Automated Assessment Systems (AAS) are increasingly used in large computer science lectures to evaluate student solutions to programming assignments. The AAS normally carries out static and dynamic analysis of the program code. In addition, simple forms of learning analytics can often be generated quite easily. However, structural analyses and comparison of solutions for larger sets of student programs are, in many cases, complicated and time-consuming. In this article, we introduce a methodology with which thousands of programs can be analyzed in less than a second, for example, to search for the use of certain control structures or the application of recursion. For this purpose, we have developed a software that creates a structural representation for each programming solution in the form of a TGraph, which is inserted into a graph database using Neo4j. On this database, we can search for structural features by queries in the language Cypher. We have tested this methodology extensively for Java programs, measured its performance, and validated the results. Our software can also be applied to programs in other programming languages, such as Scratch. Additionally, we plan to make our software available to the community.",
keywords = "Automated assessment systems, graph database, introductory lectures, large-scale education, learning analytics, programming assignments, source code representation, structural code analysis",
author = "Adrian K{\"o}gl and Peter Hubwieser and Mike Talbot and Johannes Krugel and Michael Striewe and Michael Goedicke",
note = "Funding Information: Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 412374068; 13th IEEE Global Engineering Education Conference, EDUCON 2022 ; Conference date: 28-03-2022 Through 31-03-2022",
year = "2022",
doi = "10.1109/educon52537.2022.9766748",
language = "English",
isbn = "978-1-6654-4435-4",
series = "IEEE Global Engineering Education Conference, EDUCON",
publisher = "IEEE Computer Society",
pages = "24--30",
editor = "Mohammed Jemni and Ilhem Kallel and Abdeljalil Akkari",
booktitle = "Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022",
address = "United States",

}

Download

TY - GEN

T1 - Efficient Structural Analysis of Source Code for Large Scale Applications in Education

AU - Kögl, Adrian

AU - Hubwieser, Peter

AU - Talbot, Mike

AU - Krugel, Johannes

AU - Striewe, Michael

AU - Goedicke, Michael

N1 - Funding Information: Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 412374068

PY - 2022

Y1 - 2022

N2 - Automated Assessment Systems (AAS) are increasingly used in large computer science lectures to evaluate student solutions to programming assignments. The AAS normally carries out static and dynamic analysis of the program code. In addition, simple forms of learning analytics can often be generated quite easily. However, structural analyses and comparison of solutions for larger sets of student programs are, in many cases, complicated and time-consuming. In this article, we introduce a methodology with which thousands of programs can be analyzed in less than a second, for example, to search for the use of certain control structures or the application of recursion. For this purpose, we have developed a software that creates a structural representation for each programming solution in the form of a TGraph, which is inserted into a graph database using Neo4j. On this database, we can search for structural features by queries in the language Cypher. We have tested this methodology extensively for Java programs, measured its performance, and validated the results. Our software can also be applied to programs in other programming languages, such as Scratch. Additionally, we plan to make our software available to the community.

AB - Automated Assessment Systems (AAS) are increasingly used in large computer science lectures to evaluate student solutions to programming assignments. The AAS normally carries out static and dynamic analysis of the program code. In addition, simple forms of learning analytics can often be generated quite easily. However, structural analyses and comparison of solutions for larger sets of student programs are, in many cases, complicated and time-consuming. In this article, we introduce a methodology with which thousands of programs can be analyzed in less than a second, for example, to search for the use of certain control structures or the application of recursion. For this purpose, we have developed a software that creates a structural representation for each programming solution in the form of a TGraph, which is inserted into a graph database using Neo4j. On this database, we can search for structural features by queries in the language Cypher. We have tested this methodology extensively for Java programs, measured its performance, and validated the results. Our software can also be applied to programs in other programming languages, such as Scratch. Additionally, we plan to make our software available to the community.

KW - Automated assessment systems

KW - graph database

KW - introductory lectures

KW - large-scale education

KW - learning analytics

KW - programming assignments

KW - source code representation

KW - structural code analysis

U2 - 10.1109/educon52537.2022.9766748

DO - 10.1109/educon52537.2022.9766748

M3 - Conference contribution

AN - SCOPUS:85130490989

SN - 978-1-6654-4435-4

T3 - IEEE Global Engineering Education Conference, EDUCON

SP - 24

EP - 30

BT - Proceedings of the 2022 IEEE Global Engineering Education Conference, EDUCON 2022

A2 - Jemni, Mohammed

A2 - Kallel, Ilhem

A2 - Akkari, Abdeljalil

PB - IEEE Computer Society

T2 - 13th IEEE Global Engineering Education Conference, EDUCON 2022

Y2 - 28 March 2022 through 31 March 2022

ER -

By the same author(s)