Generating meaningful assert statements is one of the key challenges in automated test case generation,which requires understanding the intended functionality of the tested ***,deep learning based models have shown pr...
详细信息
Generating meaningful assert statements is one of the key challenges in automated test case generation,which requires understanding the intended functionality of the tested ***,deep learning based models have shown promise in improving the performance of assert statement ***,the existing models only rely on the test prefixes along with their corresponding focal methods,yet ignore the developer-written *** on our observations,the summarization contents usually express the intended program behavior or contain parameters that will appear directly in the assert *** information will help existing models address their current inability to accu-rately predict assert *** paper presents a summarization-guided approach for automatically generating as-sert *** derive generic representations for natural language(i.e.,summarization)and programming language(i.e.,test prefixes and focal methods),we leverage a pre-trained language model as the reference architecture and fine-tune it on the task of assert statement *** the best of our knowledge,the proposed approach makes the first at-tempt to leverage the summarization of focal methods as the guidance for making the generated assert statements more *** demonstrate the effectiveness of our approach on two real-world datasets compared with state-of-the-art mod-els.
In game development curriculum, mastering programming skills is important. Traditional methods to teach programming in computerscience curriculum often face challenges in relevance for game development students, lean...
详细信息
Various methods of algorithm evaluation generate feedback on students' progress. Feedback is an important aspect of effective teaching and learning, and therefore, adequate attention to generating it is essential....
详细信息
ISBN:
(纸本)9783031824777;9783031824784
Various methods of algorithm evaluation generate feedback on students' progress. Feedback is an important aspect of effective teaching and learning, and therefore, adequate attention to generating it is essential. Although various methods of algorithm evaluation are discussed in the literature, not much is available on algorithm evaluation methodologies that yield feedback in the form of learning transitions from one algorithm to another. Quantitative methods of evaluation, like the allocation of marks to the sections of the algorithms, are statistical and do not fully generate a clear view of learning transitions. In this paper, we present a SOLO-adapted evaluation methodology (based on the SOLO taxonomy) that can generate meaningful feedback on learning transitions (learning progression) between algorithms. The SOLO-adapted evaluation was tested on actual introductory programming students' algorithms at a university. In the experiment, the feedback (learning transitions) generated by the SOLO-adapted evaluation was used to inform pedagogical intervention. The SOLO-adapted evaluation can show learning transitions as either an improvement, intermediate improvement, stagnant learning, deteriorating learning, intermediate deterioration of learning or already-know.
Given the prevalence of Return-Oriented programming (ROP) in exploitation, automating ROP has become a cornerstone of security research and education. Many security measures are evaluated against and thus restricted b...
ISBN:
(纸本)9783031708954;9783031708961
Given the prevalence of Return-Oriented programming (ROP) in exploitation, automating ROP has become a cornerstone of security research and education. Many security measures are evaluated against and thus restricted by the practical capability of ROP. However, the ROP automation state-of-the-art approaches have fundamental limitations in their gadget utilization and fall short of delivering the promise. To overcome these fundamental limitations, we design and implement TGRop which advances ROP automation to a new level. TGRop can leverage gadgets that operate memory and perform complex arithmetic calculations. By breaking down the entire computation into sub-goals, TGRop effectively reduces search space and thus maximizes the utility of the SAT/SMT solver. More importantly, TGRop employs a systematic approach to resolving data dependencies and eliminating side effects. Our thorough measurement shows that TGRop outperforms all existing approaches by more than 1.62-3.11 times. Additionally, we validate the rationale behind its design via analytical experiments. When running TGRop against the newest ROP mitigations, we discovered their weaknesses and reported to vendors.
This study introduces a web-based educational platform with a novel approach to Python programming skill development for students. It emphasizes task-based learning, real-time code checking, and dynamic assessments, a...
详细信息
Automated assistance for detecting cheating on programs has long been investigated by CS educators, especially with the rise of "homework help" websites over the past decade, and recently with AI tools like ...
详细信息
ISBN:
(纸本)9798400704239
Automated assistance for detecting cheating on programs has long been investigated by CS educators, especially with the rise of "homework help" websites over the past decade, and recently with AI tools like ChatGPT. The main detection approach has long been flagging similar submission pairs. Modern cheating, like hiring contractors or using ChatGPT, may not yield such similarity. And, cases based on similarity alone may be weak. Thus, over the past several years, building on logs from an online program auto-grader (zyBooks), we developed additional "cheating concern metrics": points rate, style anomalies, style inconsistencies, IP address anomalies, code replacements, and initial copying. Most are defined not only for one programming assignment but also across a set of assignments. The metrics can help catch more kinds of cheating, provide more compelling evidence of cheating, reduce false cheating accusations based on similarity alone, and help instructors focus their limited cheat-detection time on the most egregious cases. We describe the techniques, and our experiences (via our own Python scripts and a commercial tool) for several terms, showing benefits of having more metrics than just similarity. Of 30 cheating cases over 3 terms and 300 students, most were based on metrics beyond similarity, all students admitted, none later contested, and time per student was only 1-2 hours (far less than previously). Our goal is to prevent cheating in the first place, by reducing opportunity via strong detection tools, as part of a multi-faceted approach to having students truly learn and stay out of trouble.
Quantum computing's potential for exponential speedups over classical computing has recently sparked considerable interest. However, quantum noise presents a significant obstacle to realizing this potential, compr...
详细信息
ISBN:
(纸本)9783031645723;9783031645730
Quantum computing's potential for exponential speedups over classical computing has recently sparked considerable interest. However, quantum noise presents a significant obstacle to realizing this potential, compromising computational reliability. Accurate estimation and mitigation of noise are crucial for achieving fault-tolerant quantum computation. While current efforts focus on developing noise models tailored to specific quantum computers, these models often fail to fully capture the complexity of real quantum noise. To this end, we propose an approach that uses genetic programming (GP) to develop expression-based noise models for quantum computers. We represent the quantum noise model as a computational expression, with each function corresponding to a specific aspect of the noise behavior. By function nesting, we create a chain of operations that collectively capture the intricate nature of quantum noise. Through GP, we explore the search space of possible noise model expressions, gradually improving the quality of the solution. We evaluated the approach on five artificial noise models of varying complexity and a real quantum computer. Results show that our approach achieved an error difference of less than 2% in approximating artificial noise models and 15% for a real quantum computer.
The growing demand for flexible production systems is driven by product diversity and fluctuating order volumes. Seasonal variations can lead to imbalances between available machines and order demands, making efficien...
详细信息
The growing demand for flexible production systems is driven by product diversity and fluctuating order volumes. Seasonal variations can lead to imbalances between available machines and order demands, making efficient resource configuration critical before production begins. This paper addresses the optimization of machine configuration and scheduling in the hybrid flow shop, incorporating the order delivery time window. Most previous studies have focused on fixed machine numbers, while this study considers uncertain machine availability. This paper presents the mixed-integer linear programming model of the problem, and a linear programming (LP)-driven variable strategies evolutionary approach. The proposed approach combines an evolutionary algorithm with LP-driven neighborhood search for sequence optimization. Three strategies are constructed by narrowing down the search scope, which effectively reduces the algorithm's stagnation time and speeds up the convergence. To evaluate the effectiveness of the approach, the scales of application of the three LP strategies are first tested. Then ablation and comparison experiments are conducted, which show that the proposed approach generally agrees with the MILP results on small-scale problems and with smaller time resources. Experiments on 60 sets of large-scale problems show that the proposed approach has significant advantages over 5 state-of-the-art evolutionary algorithms and the MILP model. Additionally, the experiments show that the LPdriven strategy can improve the algorithm efficiency by about 13.32 % compared with the conventional strategy. These results demonstrate the potential of the LP-driven evolutionary approach for solving the complex scheduling problem.
programming remains a dark art for beginners. The gap between how people speak and how computer programs are made has always made it hard for people to become programmers. Learning all the complex rules of programming...
详细信息
The recent, widespread availability of Large Language Models (LLMs) like ChatGPT and GitHub Copilot may impact introductory programming courses (CS1) both in terms of what should be taught and how to teach it. Indeed,...
详细信息
ISBN:
(纸本)9798400706004
The recent, widespread availability of Large Language Models (LLMs) like ChatGPT and GitHub Copilot may impact introductory programming courses (CS1) both in terms of what should be taught and how to teach it. Indeed, recent research has shown that LLMs are capable of solving the majority of the assignments and exams we previously used in CS1. In addition, professional software engineers are often using these tools, raising the question of whether we should be training our students in their use as well. This experience report describes a CS1 course at a large research-intensive university that fully embraces the use of LLMs from the beginning of the course. To incorporate the LLMs, the course was intentionally altered to reduce emphasis on syntax and writing code from scratch. Instead, the course now emphasizes skills needed to successfully produce software with an LLM. This includes explaining code, testing code, and decomposing large problems into small functions that are solvable by an LLM. In addition to frequent, formative assessments of these skills, students were given three large, open-ended projects in three separate domains (data science, image processing, and game design) that allowed them to showcase their creativity in topics of their choosing. In an end-of-term survey, students reported that they appreciated learning with the assistance of the LLM and that they interacted with the LLM in a variety of ways when writing code. We provide lessons learned for instructors who may wish to incorporate LLMs into their course.
暂无评论