English
Related papers

Related papers: JCoffee: Using Compiler Feedback to Make Partial C…

200 papers

Large language models trained on code have shown great potential to increase productivity of software developers. Several execution-based benchmarks have been proposed to evaluate functional correctness of model-generated code on simple…

Both professional coders and teachers frequently deal with imperfect (fragmentary, incomplete, ill-formed) code. Such fragments are common in STACKOVERFLOW; students also frequently produce ill-formed code, for which instructors, TAs (or…

Software Engineering · Computer Science 2021-03-10 Toufique Ahmed , Premkumar Devanbu , Vincent Hellendoorn

Program transformation has gained a wide interest since it is used for several purposes: altering semantics of a program, adding features to a program or performing optimizations. In this paper we focus on program transformations at the…

Logic in Computer Science · Computer Science 2013-08-01 Razika Lounas , Mohamed Mezghiche , Jean-Louis Lanet

In software engineering, it is not enough to simply write code that only works as intended, even if it is free from vulnerabilities and bugs. Every programming language has a style guide and a set of best practices defined by its community,…

Code executability plays a vital role in software debugging and testing (e.g., detecting runtime exceptions or assertion violations). However, code execution, especially partial or arbitrary code execution, is a non-trivial task due to…

Software Engineering · Computer Science 2024-07-25 Zhipeng Xue , Zhipeng Gao , Shaohua Wang , Xing Hu , Xin Xia , Shanping Li

Manual translation of the algorithms from sequential version to its parallel counterpart is time consuming and can be done only with the specific knowledge of hardware accelerator architecture, parallel programming or programming…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-03-16 Krzysztof Stuglik , Piotr Listkiewicz , Mateusz Kulczyk , Marcin Pietron

Programming assistants have reshaped the experience of programming into one where programmers spend less time writing and more time critically examining code. In this paper, we explore how programming assistants can be extended to…

Human-Computer Interaction · Computer Science 2024-03-06 Litao Yan , Alyssa Hwang , Zhiyuan Wu , Andrew Head

Program understanding is an important aspect in Software Maintenance and Reengineering. Understanding the program is related to execution behaviour and relationship of variable involved in the program. The task of finding all statements in…

Software Engineering · Computer Science 2011-08-08 N. Sasirekha , A. Edwin Robert , Dr. M. Hemalatha

Worked examples (solutions to typical programming problems presented as a source code in a certain language and are used to explain the topics from a programming class) are among the most popular types of learning content in programming…

Human-Computer Interaction · Computer Science 2023-12-05 Mohammad Hassany , Peter Brusilovsky , Jiaze Ke , Kamil Akhuseyinoglu , Arun Balajiee Lekshmi Narayanan

Large language models (LLMs) have shown great potential in automating significant aspects of coding by producing natural code from informal natural language (NL) intent. However, given NL is informal, it does not lend easily to checking…

Software Engineering · Computer Science 2024-10-04 Sarah Fakhoury , Aaditya Naik , Georgios Sakkas , Saikat Chakraborty , Shuvendu K. Lahiri

Collecting data of students solving programming tasks is incredibly valuable for researchers and educators. It allows verifying that the students correctly apply the features and concepts they are taught, or finding students'…

Software Engineering · Computer Science 2025-07-29 Daniil Karol , Elizaveta Artser , Ilya Vlasov , Yaroslav Golubev , Hieke Keuning , Anastasiia Birillo

Generative machine learning models have recently been applied to source code, for use cases including translating code between programming languages, creating documentation from code, and auto-completing methods. Yet, state-of-the-art…

Dynamic taint tracking is the process of assigning label to variables in a program and then tracking the flow of the labels as the program executes. Dynamic taint tracking for java applications is achieved by instrumenting the application…

Cryptography and Security · Computer Science 2024-12-02 Manoj RameshChandra Thakur

Recent advances in natural-language processing and data analysis allow software bots to become virtual team members, providing an additional set of automated eyes and additional perspectives for informing and supporting teamwork. In this…

Software Engineering · Computer Science 2020-07-20 Christoph Matthies , Franziska Dobrigkeit , Guenter Hesse

This paper explores the relationship between C++ templates and partial evaluation. Templates were designed to support generic programming, but unintentionally provided the ability to perform compile-time computations and code generation.…

Programming Languages · Computer Science 2007-05-23 Todd L. Veldhuizen

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

Although peer code review is widely adopted in both commercial and open source development, existing studies suggest that such code reviews often contain a significant amount of non-useful review comments. Unfortunately, to date, no tools…

Software Engineering · Computer Science 2018-07-13 Mohammad Masudur Rahman , Chanchal K. Roy , Raula G. Kula

Low-code programming allows citizen developers to create programs with minimal coding effort, typically via visual (e.g. drag-and-drop) interfaces. In parallel, recent AI-powered tools such as Copilot and ChatGPT generate programs from…

Software Engineering · Computer Science 2023-06-01 Nikitha Rao , Jason Tsay , Kiran Kate , Vincent J. Hellendoorn , Martin Hirzel

Failure detection protocols---a fundamental building block for crafting fault-tolerant distributed systems---are in many cases described by their authors making use of informal pseudo-codes of their conception. Often these pseudo-codes use…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-04-15 Vincenzo De Florio , Chris Blondia

Recent In-IDE AI coding assistant tools (ACATs) like GitHub Copilot have significantly impacted developers' coding habits. While some studies have examined their effectiveness, there lacks in-depth investigation into the actual assistance…

Software Engineering · Computer Science 2024-04-25 Xin Tan , Xiao Long , Xianjun Ni , Yinghao Zhu , Jing Jiang , Li Zhang