English
Related papers

Related papers: Code Perfumes: Reporting Good Code to Encourage Le…

200 papers

Advancements in Large Language Models (LLMs), such as ChatGPT, offer significant opportunities to enhance instructional support in introductory programming courses. While extensive research has explored the effectiveness of LLMs in…

Human-Computer Interaction · Computer Science 2025-05-09 Muntasir Hoq , Jessica Vandenberg , Shuyin Jiao , Seung Lee , Bradford Mott , Narges Norouzi , James Lester , Bita Akram

Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While these are excellent for…

Learning to program can be challenging, and providing high-quality and timely support at scale is hard. Generative AI and its products, like ChatGPT, can create a solution for most intro-level programming problems. However, students might…

Computers and Society · Computer Science 2024-05-31 Xinying Hou , Zihan Wu , Xu Wang , Barbara J. Ericson

The ubiquity of smartphones, and their very broad capabilities and usage, make the security of these devices tremendously important. Unfortunately, despite all progress in security and privacy mechanisms, vulnerabilities continue to…

Cryptography and Security · Computer Science 2020-06-03 Mohammad Ghafari , Pascal Gadient , Oscar Nierstrasz

Refactoring is one of the most important activities in software engineering which is used to improve the quality of a software system. With the advancement of deep learning techniques, researchers are attempting to apply deep learning…

Software Engineering · Computer Science 2024-05-01 Bridget Nyirongo , Yanjie Jiang , He Jiang , Hui Liu

Everyone learns to code nowadays. Writing code, however, does not go without testing, which unfortunately rarely seems to be taught explicitly. Testing is often not deemed important enough or is just not perceived as sufficiently exciting.…

Software Engineering · Computer Science 2024-04-16 Philipp Straubinger , Lena Bloch , Gordon Fraser

CONTEXT: There has been a rapid growth in the use of data analytics to underpin evidence-based software engineering. However the combination of complex techniques, diverse reporting standards and poorly understood underlying phenomena are…

Software Engineering · Computer Science 2019-04-16 Tim Menzies , Martin Shepperd

Software Product Lines SPL are recognized as a successful approach to reuse in software development.Its purpose is to reduce production costs. This approach allows products to be different with respect of particular characteristics and…

Software Engineering · Computer Science 2020-12-01 Sami Ouali

LLMs are reshaping education, with students increasingly relying on them for learning. Implemented using general-purpose models, these systems are likely to give away the answers, potentially undermining conceptual understanding and…

Human-Computer Interaction · Computer Science 2026-02-23 Anubhav Jangra , Smaranda Muresan

Training a deep learning model on source code has gained significant traction recently. Since such models reason about vectors of numbers, source code needs to be converted to a code representation before vectorization. Numerous approaches…

Software Engineering · Computer Science 2022-07-18 Marjane Namavar , Noor Nashid , Ali Mesbah

User Interfaces (UIs) intensively rely on event-driven programming: widgets send UI events, which capture users' interactions, to dedicated objects called controllers. Controllers use several UI listeners that handle these events to produce…

Software Engineering · Computer Science 2018-05-29 Arnaud Blouin , Valéria Lelli , Benoit Baudry , Fabien Coulon

Software developers use metrics to evaluate code quality and productivity, but these practices are still rare in programming education. This project bridges the gap by collecting real-time learning analytics from individual student and…

Context: A substantial amount of work has been done to detect smells in source code using metrics-based and heuristics-based methods. Machine learning methods have been recently applied to detect source code smells; however, the current…

Software Engineering · Computer Science 2023-12-05 Tushar Sharma , Vasiliki Efstathiou , Panos Louridas , Diomidis Spinellis

Proof Blocks is a software tool which enables students to write proofs by dragging and dropping prewritten proof lines into the correct order. These proofs can be graded completely automatically, enabling students to receive rapid feedback…

Computers and Society · Computer Science 2022-05-06 Seth Poulsen , Mahesh Viswanathan , Geoffrey L. Herman , Matthew West

Context: Large Language Models (LLMs) are increasingly being used to generate program code. Much research has been reported on the functional correctness of generated code, but there is far less on code quality. Objectives: In this study,…

Software Engineering · Computer Science 2025-10-06 Debalina Ghosh Paul , Hong Zhu , Ian Bayley

Building on the computer science concept of code smells, we initiate the study of law smells, i.e., patterns in legal texts that pose threats to the comprehensibility and maintainability of the law. With five intuitive law smells as running…

Information Retrieval · Computer Science 2021-10-26 Corinna Coupette , Dirk Hartung , Janis Beckedorf , Maximilian Böther , Daniel Martin Katz

Context: Learning-based automatic program repair techniques are showing promise to provide quality fix suggestions for detected bugs in the source code of the software. These tools mostly exploit historical data of buggy and fixed code…

Software Engineering · Computer Science 2020-10-07 Faria Huq , Masum Hasan , Mahim Anzum Haque Pantho , Sazan Mahbub , Anindya Iqbal , Toufique Ahmed

Coding is a fundamental skill required in the engineering discipline, and much work exists exploring better ways of teaching coding in the higher education context. In particular, Code Snippets (CSs) are approved to be an effective way of…

Programming Languages · Computer Science 2025-06-03 Joshua Akingbade , Jianhua Yang , Mir Seyedebrahimi

LLM-based code assistants are becoming increasingly popular among developers. These tools help developers improve their coding efficiency and reduce errors by providing real-time suggestions based on the developer's codebase. While…

Cryptography and Security · Computer Science 2024-10-30 Amit Finkman Noah , Avishag Shapira , Eden Bar Kochva , Inbar Maimon , Dudu Mimran , Yuval Elovici , Asaf Shabtai

Methodology bugs in scientific Python code produce plausible but incorrect results that traditional linters and static analysis tools cannot detect. Several research groups have built ML-specific linters, demonstrating that detection is…

Software Engineering · Computer Science 2026-03-19 Sergey V. Samsonau