English
Related papers

Related papers: Acknowledging Good Java Code with Code Perfumes

200 papers

Build scripts automate the process of compiling source code, managing dependencies, running tests, and packaging software into deployable artifacts. These scripts are ubiquitous in modern software development pipelines for streamlining…

Software Engineering · Computer Science 2026-04-27 Mahzabin Tamanna , Yash Chandrani , Matthew Burrows , Brandon Wroblewski , Laurie Williams , Dominik Wermke

The automatic generation of source code is one of the long-lasting dreams in software engineering research. Several techniques have been proposed to speed up the writing of new code. For example, code completion techniques can recommend to…

Software Engineering · Computer Science 2023-02-09 Matteo Ciniselli , Luca Pascarella , Emad Aghajani , Simone Scalabrino , Rocco Oliveto , Gabriele Bavota

Code metrics have been widely used to estimate software maintenance effort. Metrics have generally been used to guide developer effort to reduce or avoid future maintenance burdens. Size is the simplest and most widely deployed metric. The…

Software Engineering · Computer Science 2022-05-05 Shaiful Alam Chowdhury , Gias Uddin , Reid Holmes

We conducted a systematic literature review on automated grading and feedback tools for programming education. We analysed 121 research papers from 2017 to 2021 inclusive and categorised them based on skills assessed, approach, language…

Software Engineering · Computer Science 2023-12-11 Marcus Messer , Neil C. C. Brown , Michael Kölling , Miaojing Shi

Introductory programming courses often rely on small code-writing exercises that have clearly specified problem statements. This limits opportunities for students to practice how to clarify ambiguous requirements -- a critical skill in…

Human-Computer Interaction · Computer Science 2025-04-17 Paul Denny , Viraj Kumar , Stephen MacNeil , James Prather , Juho Leinonen

Understanding what drives code instability is essential for effective software maintenance, as unstable classes require larger or more frequent edits and increase the risk of unintended side effects. Although code smells are widely believed…

Software Engineering · Computer Science 2026-02-17 Zushuai Zhang , Elliott Wen , Ewan Tempero

There are possible benefits and drawbacks to chaining methods together, as is often done in fluent APIs. A prior study investigated how Java developers chain methods in over 2.7k open-source projects. That study observed, for the dataset…

Software Engineering · Computer Science 2023-03-21 Ali M. Keshk , Robert Dyer

The authors present the results of a simple usability test performed on line_explorer, an innovative tool aimed at letting students explore programming. The system offers an interactive environment where students can learn, review, and…

Computers and Society · Computer Science 2017-11-16 Giovanni Vincenti , Scott Hilberg , James Braman , Michael Satzinger , Lily Cao

We witness an increasing usage of AI-assistants even for routine (classroom) programming tasks. However, the code generated on basis of a so called "prompt" by the programmer does not always meet accepted security standards. On the one…

Software Engineering · Computer Science 2024-08-15 Stefan Goetz , Andreas Schaad

Background. Pull requests are a common practice for contributing and reviewing contributions, and are employed both in open-source and industrial contexts. One of the main goals of code reviews is to find defects in the code, allowing…

Software Engineering · Computer Science 2019-08-27 Valentina Lenarduzzi , Vili Nikkola , Nyyti Saarimäki , Davide Taibi

We are trying to find source code comments that help programmers understand a nontrivial part of source code. One of such examples would be explaining to assign a zero as a way to "clear" a buffer. Such comments are invaluable to…

Software Engineering · Computer Science 2022-03-18 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

Students often struggle with solving programming problems when learning to code, especially when they have to do it online, with one of the most common disadvantages of working online being the lack of personalized help. This help can be…

We investigated how programmers express high-level concepts such as path names and coordinates using primitive data types. While relying too much on primitive data types is sometimes criticized as a bad smell, it is still a common practice…

Software Engineering · Computer Science 2022-03-21 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

Introductory programming courses often emphasize mastering syntax and basic constructs before progressing to more complex and interesting programs. This bottom-up approach can be frustrating for novices, shifting the focus away from problem…

Computers and Society · Computer Science 2024-10-07 Chris Kerslake , Paul Denny , David H Smith , James Prather , Juho Leinonen , Andrew Luxton-Reilly , Stephen MacNeil

Test smells indicate poor development practices in test code, reducing maintainability and reliability. While developers often struggle to prevent or refactor these issues, existing tools focus primarily on detection rather than automated…

The rapid advancement of Large Language Models (LLMs) has opened new avenues in education. This study examines the use of LLMs in supporting learning in machine learning education; in particular, it focuses on the ability of LLMs to…

Computers and Society · Computer Science 2025-05-27 Smitha Kumar , Michael A. Lones , Manuel Maarek , Hind Zantout

To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software units that make up the system. Like production code, test…

Software Engineering · Computer Science 2023-03-09 Wajdi Aljedaani , Mohamed Wiem Mkaouer , Anthony Peruma , Stephanie Ludi

Documenting the functionality of software units with code comments, e.g., Javadoc comments, is a common programmer best-practice in software engineering. This paper introduces a novel test generation technique that exploits the code-comment…

Software Engineering · Computer Science 2025-05-01 Giovanni Denaro , Luca Guglielmo

To ensure that Large Language Models (LLMs) effectively support user productivity, they need to be adjusted. Existing Code Readability (CR) models can guide this alignment. However, there are concerns about their relevance in modern…

Software Engineering · Computer Science 2024-01-29 Agnia Sergeyuk , Olga Lvova , Sergey Titov , Anastasiia Serova , Farid Bagirov , Evgeniia Kirillova , Timofey Bryksin

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