{"id":"https://openalex.org/W7083296239","doi":"https://doi.org/10.18420/abp2025_02","title":"Using graph-based queries to detect patterns in program structures for introductory programming","display_name":"Using graph-based queries to detect patterns in program structures for introductory programming","publication_year":2025,"publication_date":"2025-01-01","ids":{"openalex":"https://openalex.org/W7083296239","doi":"https://doi.org/10.18420/abp2025_02"},"language":"en","primary_location":{"id":"doi:10.18420/abp2025_02","is_oa":true,"landing_page_url":"https://doi.org/10.18420/abp2025_02","pdf_url":null,"source":{"id":"https://openalex.org/S7407052918","display_name":"Gesellschaft f\u00fcr Informatik (GI)","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article-journal"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.18420/abp2025_02","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Stanke, Levin","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Stanke, Levin","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"middle","author":{"id":null,"display_name":"Olbricht, Christoph","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Olbricht, Christoph","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"middle","author":{"id":null,"display_name":"Goedicke, Michael","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Goedicke, Michael","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"last","author":{"id":null,"display_name":"Krugel, Johannes","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Krugel, Johannes","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.73585439,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T12157","display_name":"Geochemistry and Geologic Mapping","score":0.6840000152587891,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12157","display_name":"Geochemistry and Geologic Mapping","score":0.6840000152587891,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13067","display_name":"Geological Modeling and Analysis","score":0.02410000003874302,"subfield":{"id":"https://openalex.org/subfields/1906","display_name":"Geochemistry and Petrology"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10271","display_name":"Seismic Imaging and Inversion Techniques","score":0.01810000091791153,"subfield":{"id":"https://openalex.org/subfields/1908","display_name":"Geophysics"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/initialization","display_name":"Initialization","score":0.7351999878883362},{"id":"https://openalex.org/keywords/confusion","display_name":"Confusion","score":0.49959999322891235},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.48989999294281006},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.3709000051021576},{"id":"https://openalex.org/keywords/program-comprehension","display_name":"Program comprehension","score":0.3449000120162964},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.33500000834465027},{"id":"https://openalex.org/keywords/operator","display_name":"Operator (biology)","score":0.3343999981880188},{"id":"https://openalex.org/keywords/dynamic-programming","display_name":"Dynamic programming","score":0.3199000060558319}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.873199999332428},{"id":"https://openalex.org/C114466953","wikidata":"https://www.wikidata.org/wiki/Q6034165","display_name":"Initialization","level":2,"score":0.7351999878883362},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.510699987411499},{"id":"https://openalex.org/C2781140086","wikidata":"https://www.wikidata.org/wiki/Q557945","display_name":"Confusion","level":2,"score":0.49959999322891235},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.48989999294281006},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.41510000824928284},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.3709000051021576},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3601999878883362},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.35420000553131104},{"id":"https://openalex.org/C2777561058","wikidata":"https://www.wikidata.org/wiki/Q2652119","display_name":"Program comprehension","level":4,"score":0.3449000120162964},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.33500000834465027},{"id":"https://openalex.org/C17020691","wikidata":"https://www.wikidata.org/wiki/Q139677","display_name":"Operator (biology)","level":5,"score":0.3343999981880188},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.3260999917984009},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.3199000060558319},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.31450000405311584},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.30889999866485596},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.3028999865055084},{"id":"https://openalex.org/C77967617","wikidata":"https://www.wikidata.org/wiki/Q4677561","display_name":"Active learning (machine learning)","level":2,"score":0.28200000524520874},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.2736999988555908},{"id":"https://openalex.org/C2908586218","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java Programming Language","level":3,"score":0.27129998803138733},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.2614000141620636},{"id":"https://openalex.org/C192028432","wikidata":"https://www.wikidata.org/wiki/Q845739","display_name":"Query language","level":2,"score":0.2590000033378601},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.2547000050544739},{"id":"https://openalex.org/C103088060","wikidata":"https://www.wikidata.org/wiki/Q1062839","display_name":"Error detection and correction","level":2,"score":0.25029999017715454}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.18420/abp2025_02","is_oa":true,"landing_page_url":"https://doi.org/10.18420/abp2025_02","pdf_url":null,"source":{"id":"https://openalex.org/S7407052918","display_name":"Gesellschaft f\u00fcr Informatik (GI)","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.18420/abp2025_02","is_oa":true,"landing_page_url":"https://doi.org/10.18420/abp2025_02","pdf_url":null,"source":{"id":"https://openalex.org/S7407052918","display_name":"Gesellschaft f\u00fcr Informatik (GI)","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article-journal"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.8684430122375488,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Learning":[0],"to":[1,30,81,102],"program":[2],"remains":[3],"challenging":[4],"for":[5,131,146],"students,":[6],"with":[7,20,140],"errors":[8],"often":[9],"reflecting":[10],"deeper":[11],"conceptual":[12],"misunderstandings.":[13],"Providing":[14],"manual":[15],"individualized":[16],"feedback":[17,148],"becomes":[18],"impractical":[19],"large":[21,120],"student":[22],"cohorts.":[23],"This":[24],"paper":[25],"presents":[26],"a":[27],"graph-based":[28,51,89,114],"approach":[29,115],"automatically":[31],"detect":[32,103],"usage":[33],"of":[34,119,124],"programming":[35,39,136],"patterns":[36,62,98],"in":[37,49,76,126,135],"introductory":[38],"courses.":[40],"We":[41,54,71],"represented":[42],"85,762":[43],"Java":[44],"submissions":[45,125],"from":[46],"1,943":[47],"students":[48],"the":[50,77],"database":[52],"Neo4j.":[53],"manually":[55],"identified":[56],"and":[57,68,97],"selected":[58],"eight":[59],"common":[60],"interesting":[61],"including":[63],"initialization":[64],"errors,":[65],"operator":[66],"confusion":[67],"structural":[69,95],"mistakes.":[70],"then":[72],"developed":[73],"declarative":[74],"queries":[75,90],"query":[78],"language":[79],"Cypher":[80],"retrieve":[82],"corresponding":[83],"submissions.":[84],"The":[85,113],"results":[86],"demonstrate":[87],"that":[88,99],"can":[91],"effectively":[92],"capture":[93],"complex":[94],"relationships":[96],"are":[100],"difficult":[101],"through":[104],"traditional":[105],"text-based":[106],"static":[107],"analysis":[108,118,142],"or":[109],"dynamic":[110],"testing":[111],"alone.":[112],"enables":[116],"rapid":[117],"datasets,":[121],"processing":[122],"thousands":[123],"seconds.":[127],"Results":[128],"show":[129],"promise":[130],"automated":[132],"error":[133],"detection":[134],"education,":[137],"though":[138],"integration":[139],"complementary":[141],"methods":[143],"is":[144],"recommended":[145],"comprehensive":[147],"systems.":[149]},"counts_by_year":[],"updated_date":"2025-11-06T06:51:31.235846","created_date":"2025-10-10T00:00:00"}
