Development of Automatic Source Code Evaluation Tests Using Grey-Box Methods: A Programming Education Case Study

Increasing the effectiveness of programming education has emerged as an important goal in teaching programming languages in the last decade. Automatic evaluation of the correctness of the student's source code saves teachers time and effort and allows a more comprehensive focus on the preparati...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE access 2023, Vol.11, p.106772-106792
Hauptverfasser: Skalka, Jan, Drlik, Martin
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 106792
container_issue
container_start_page 106772
container_title IEEE access
container_volume 11
creator Skalka, Jan
Drlik, Martin
description Increasing the effectiveness of programming education has emerged as an important goal in teaching programming languages in the last decade. Automatic evaluation of the correctness of the student's source code saves teachers time and effort and allows a more comprehensive focus on the preparation of assignments with integrated feedback. The study aims to present an approach that will enable effective testing of students' source codes within object-oriented programming courses while minimising the demands on teachers when preparing the assignment. This approach also supports variability in testing and preventing student cheating. Based on the principles of different types of testing (black-box, white-box, grey-box), an integrated solution for source code verification was designed and verified. The basic idea is to use a reference class, which is assumed to be part of every assignment, as the correct solution. This reference class is compared to the student solution using the grey-box method. Due to their identical interface (defined by assignment), comparing instance states and method outputs is a matter of basic programming language mechanisms. A significant advantage is that a random generation of test cases can be used in such a case, while the rules for their generation can be determined using simple formulas. The proposed procedure was implemented and gradually improved over 4 years on groups of bachelor students of applied informatics with a high level of acceptance.
doi_str_mv 10.1109/ACCESS.2023.3317694
format Article
fullrecord <record><control><sourceid>proquest_doaj_</sourceid><recordid>TN_cdi_proquest_journals_2873585270</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>10256103</ieee_id><doaj_id>oai_doaj_org_article_40eccb99794643aa957e8514b25d6432</doaj_id><sourcerecordid>2873585270</sourcerecordid><originalsourceid>FETCH-LOGICAL-c409t-c7118fd5df7cf554770e1a0522275dd9e00ad4bd911e2391363653eef93d5ad23</originalsourceid><addsrcrecordid>eNpNUctOwzAQjBBIVNAvgIMlzil-xHHMrYRSkEAgtZwt196UVE1d7KSif49LKsRevBrvzNozSXJF8IgQLG_HZTmZzUYUUzZijIhcZifJgJJcpoyz_PRff54MQ1jhWEWEuBgk2wfYwdptG9i0yFVo3LWu0W1t0Mx13gAqnQU02el1F1G3QXMIbUAfod4s0dTDPr133-gV2k9nwx0ao3fvll43zeF-YjvTs0odAM3azu4vk7NKrwMMj-dF8vE4mZdP6cvb9Lkcv6Qmw7JNjSCkqCy3lTAV55kQGIjGnFIquLUSMNY2W1hJCFAmCctZzhlAJZnl2lJ2kTz3utbpldr6utF-r5yu1S_g_FJpH_-5BpVhMGYhpZBZnjGtozFQcJItKLcROGjd9Fpb7766aIBaRXM28fmKFoLxglOB4xTrp4x3IXio_rYSrA5JqT4pdUhKHZOKrOueVQPAPwblOcGM_QCnMI5f</addsrcrecordid><sourcetype>Open Website</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2873585270</pqid></control><display><type>article</type><title>Development of Automatic Source Code Evaluation Tests Using Grey-Box Methods: A Programming Education Case Study</title><source>IEEE Open Access Journals</source><source>DOAJ Directory of Open Access Journals</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>Skalka, Jan ; Drlik, Martin</creator><creatorcontrib>Skalka, Jan ; Drlik, Martin</creatorcontrib><description>Increasing the effectiveness of programming education has emerged as an important goal in teaching programming languages in the last decade. Automatic evaluation of the correctness of the student's source code saves teachers time and effort and allows a more comprehensive focus on the preparation of assignments with integrated feedback. The study aims to present an approach that will enable effective testing of students' source codes within object-oriented programming courses while minimising the demands on teachers when preparing the assignment. This approach also supports variability in testing and preventing student cheating. Based on the principles of different types of testing (black-box, white-box, grey-box), an integrated solution for source code verification was designed and verified. The basic idea is to use a reference class, which is assumed to be part of every assignment, as the correct solution. This reference class is compared to the student solution using the grey-box method. Due to their identical interface (defined by assignment), comparing instance states and method outputs is a matter of basic programming language mechanisms. A significant advantage is that a random generation of test cases can be used in such a case, while the rules for their generation can be determined using simple formulas. The proposed procedure was implemented and gradually improved over 4 years on groups of bachelor students of applied informatics with a high level of acceptance.</description><identifier>ISSN: 2169-3536</identifier><identifier>EISSN: 2169-3536</identifier><identifier>DOI: 10.1109/ACCESS.2023.3317694</identifier><identifier>CODEN: IAECCG</identifier><language>eng</language><publisher>Piscataway: IEEE</publisher><subject>Automatic testing ; Closed box ; Codes ; Education ; Electronic learning ; Engineering education ; Object oriented programming ; Object-oriented languages ; Programming ; Programming languages ; Programming profession ; Software testing ; Source code ; Source coding ; Static analysis ; Students ; Teachers</subject><ispartof>IEEE access, 2023, Vol.11, p.106772-106792</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2023</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c409t-c7118fd5df7cf554770e1a0522275dd9e00ad4bd911e2391363653eef93d5ad23</citedby><cites>FETCH-LOGICAL-c409t-c7118fd5df7cf554770e1a0522275dd9e00ad4bd911e2391363653eef93d5ad23</cites><orcidid>0000-0003-2211-2794 ; 0000-0002-5958-7147</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/10256103$$EHTML$$P50$$Gieee$$Hfree_for_read</linktohtml><link.rule.ids>314,776,780,860,2095,4009,27612,27902,27903,27904,54911</link.rule.ids></links><search><creatorcontrib>Skalka, Jan</creatorcontrib><creatorcontrib>Drlik, Martin</creatorcontrib><title>Development of Automatic Source Code Evaluation Tests Using Grey-Box Methods: A Programming Education Case Study</title><title>IEEE access</title><addtitle>Access</addtitle><description>Increasing the effectiveness of programming education has emerged as an important goal in teaching programming languages in the last decade. Automatic evaluation of the correctness of the student's source code saves teachers time and effort and allows a more comprehensive focus on the preparation of assignments with integrated feedback. The study aims to present an approach that will enable effective testing of students' source codes within object-oriented programming courses while minimising the demands on teachers when preparing the assignment. This approach also supports variability in testing and preventing student cheating. Based on the principles of different types of testing (black-box, white-box, grey-box), an integrated solution for source code verification was designed and verified. The basic idea is to use a reference class, which is assumed to be part of every assignment, as the correct solution. This reference class is compared to the student solution using the grey-box method. Due to their identical interface (defined by assignment), comparing instance states and method outputs is a matter of basic programming language mechanisms. A significant advantage is that a random generation of test cases can be used in such a case, while the rules for their generation can be determined using simple formulas. The proposed procedure was implemented and gradually improved over 4 years on groups of bachelor students of applied informatics with a high level of acceptance.</description><subject>Automatic testing</subject><subject>Closed box</subject><subject>Codes</subject><subject>Education</subject><subject>Electronic learning</subject><subject>Engineering education</subject><subject>Object oriented programming</subject><subject>Object-oriented languages</subject><subject>Programming</subject><subject>Programming languages</subject><subject>Programming profession</subject><subject>Software testing</subject><subject>Source code</subject><subject>Source coding</subject><subject>Static analysis</subject><subject>Students</subject><subject>Teachers</subject><issn>2169-3536</issn><issn>2169-3536</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><sourceid>ESBDL</sourceid><sourceid>RIE</sourceid><sourceid>DOA</sourceid><recordid>eNpNUctOwzAQjBBIVNAvgIMlzil-xHHMrYRSkEAgtZwt196UVE1d7KSif49LKsRevBrvzNozSXJF8IgQLG_HZTmZzUYUUzZijIhcZifJgJJcpoyz_PRff54MQ1jhWEWEuBgk2wfYwdptG9i0yFVo3LWu0W1t0Mx13gAqnQU02el1F1G3QXMIbUAfod4s0dTDPr133-gV2k9nwx0ao3fvll43zeF-YjvTs0odAM3azu4vk7NKrwMMj-dF8vE4mZdP6cvb9Lkcv6Qmw7JNjSCkqCy3lTAV55kQGIjGnFIquLUSMNY2W1hJCFAmCctZzhlAJZnl2lJ2kTz3utbpldr6utF-r5yu1S_g_FJpH_-5BpVhMGYhpZBZnjGtozFQcJItKLcROGjd9Fpb7766aIBaRXM28fmKFoLxglOB4xTrp4x3IXio_rYSrA5JqT4pdUhKHZOKrOueVQPAPwblOcGM_QCnMI5f</recordid><startdate>2023</startdate><enddate>2023</enddate><creator>Skalka, Jan</creator><creator>Drlik, Martin</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>ESBDL</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>7SR</scope><scope>8BQ</scope><scope>8FD</scope><scope>JG9</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>DOA</scope><orcidid>https://orcid.org/0000-0003-2211-2794</orcidid><orcidid>https://orcid.org/0000-0002-5958-7147</orcidid></search><sort><creationdate>2023</creationdate><title>Development of Automatic Source Code Evaluation Tests Using Grey-Box Methods: A Programming Education Case Study</title><author>Skalka, Jan ; Drlik, Martin</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c409t-c7118fd5df7cf554770e1a0522275dd9e00ad4bd911e2391363653eef93d5ad23</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>Automatic testing</topic><topic>Closed box</topic><topic>Codes</topic><topic>Education</topic><topic>Electronic learning</topic><topic>Engineering education</topic><topic>Object oriented programming</topic><topic>Object-oriented languages</topic><topic>Programming</topic><topic>Programming languages</topic><topic>Programming profession</topic><topic>Software testing</topic><topic>Source code</topic><topic>Source coding</topic><topic>Static analysis</topic><topic>Students</topic><topic>Teachers</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Skalka, Jan</creatorcontrib><creatorcontrib>Drlik, Martin</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE Open Access Journals</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Engineered Materials Abstracts</collection><collection>METADEX</collection><collection>Technology Research Database</collection><collection>Materials Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>DOAJ Directory of Open Access Journals</collection><jtitle>IEEE access</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Skalka, Jan</au><au>Drlik, Martin</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Development of Automatic Source Code Evaluation Tests Using Grey-Box Methods: A Programming Education Case Study</atitle><jtitle>IEEE access</jtitle><stitle>Access</stitle><date>2023</date><risdate>2023</risdate><volume>11</volume><spage>106772</spage><epage>106792</epage><pages>106772-106792</pages><issn>2169-3536</issn><eissn>2169-3536</eissn><coden>IAECCG</coden><abstract>Increasing the effectiveness of programming education has emerged as an important goal in teaching programming languages in the last decade. Automatic evaluation of the correctness of the student's source code saves teachers time and effort and allows a more comprehensive focus on the preparation of assignments with integrated feedback. The study aims to present an approach that will enable effective testing of students' source codes within object-oriented programming courses while minimising the demands on teachers when preparing the assignment. This approach also supports variability in testing and preventing student cheating. Based on the principles of different types of testing (black-box, white-box, grey-box), an integrated solution for source code verification was designed and verified. The basic idea is to use a reference class, which is assumed to be part of every assignment, as the correct solution. This reference class is compared to the student solution using the grey-box method. Due to their identical interface (defined by assignment), comparing instance states and method outputs is a matter of basic programming language mechanisms. A significant advantage is that a random generation of test cases can be used in such a case, while the rules for their generation can be determined using simple formulas. The proposed procedure was implemented and gradually improved over 4 years on groups of bachelor students of applied informatics with a high level of acceptance.</abstract><cop>Piscataway</cop><pub>IEEE</pub><doi>10.1109/ACCESS.2023.3317694</doi><tpages>21</tpages><orcidid>https://orcid.org/0000-0003-2211-2794</orcidid><orcidid>https://orcid.org/0000-0002-5958-7147</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2169-3536
ispartof IEEE access, 2023, Vol.11, p.106772-106792
issn 2169-3536
2169-3536
language eng
recordid cdi_proquest_journals_2873585270
source IEEE Open Access Journals; DOAJ Directory of Open Access Journals; EZB-FREE-00999 freely available EZB journals
subjects Automatic testing
Closed box
Codes
Education
Electronic learning
Engineering education
Object oriented programming
Object-oriented languages
Programming
Programming languages
Programming profession
Software testing
Source code
Source coding
Static analysis
Students
Teachers
title Development of Automatic Source Code Evaluation Tests Using Grey-Box Methods: A Programming Education Case Study
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-27T08%3A02%3A29IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_doaj_&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Development%20of%20Automatic%20Source%20Code%20Evaluation%20Tests%20Using%20Grey-Box%20Methods:%20A%20Programming%20Education%20Case%20Study&rft.jtitle=IEEE%20access&rft.au=Skalka,%20Jan&rft.date=2023&rft.volume=11&rft.spage=106772&rft.epage=106792&rft.pages=106772-106792&rft.issn=2169-3536&rft.eissn=2169-3536&rft.coden=IAECCG&rft_id=info:doi/10.1109/ACCESS.2023.3317694&rft_dat=%3Cproquest_doaj_%3E2873585270%3C/proquest_doaj_%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2873585270&rft_id=info:pmid/&rft_ieee_id=10256103&rft_doaj_id=oai_doaj_org_article_40eccb99794643aa957e8514b25d6432&rfr_iscdi=true