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...
Gespeichert in:
Veröffentlicht in: | IEEE access 2023, Vol.11, p.106772-106792 |
---|---|
Hauptverfasser: | , |
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 & 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 |