English
Related papers

Related papers: IntelliTC: Automating Type Changes in IntelliJ IDE…

200 papers

Integrated development environments (IDEs) are prevalent code-writing and debugging tools. However, they have yet to be widely adopted for launching machine learning (ML) experiments. This work aims to fill this gap by introducing JetTrain,…

Software Engineering · Computer Science 2024-02-19 Artem Trofimov , Mikhail Kostyukov , Sergei Ugdyzhekov , Natalia Ponomareva , Igor Naumov , Maksim Melekhovets

Formal Methods tools will never have as many users as tools for popular programming languages and so the effort spent on constructing Integrated Development Environments (IDEs) will be orders of magnitudes lower than that of programming…

Testing is an important aspect of software development, but unfortunately, it is often neglected. While test quality analyses such as code coverage or mutation analysis inform developers about the quality of their tests, such reports are…

Software Engineering · Computer Science 2023-10-18 Philipp Straubinger , Gordon Fraser

Context: The software maintenance phase involves many activities such as code refactoring, bug fixing, code review or testing. Program comprehension is key to all these activities, as it demands developers to grasp the knowledge (e.g.,…

Software Engineering · Computer Science 2025-11-04 Vahid Etemadi , Gregorio Robles

Nowadays, Intelligent Tutoring Systems (ITSs) are so regarded in order to improve education quality via new technologies in this area. One of the problems is that the language of ITSs is different from the learner's. It forces the learners…

Computers and Society · Computer Science 2013-04-17 Hossein Movafegh Ghadirli , Maryam Rastgarpour

Injection-based testing while refactoring is a pattern that minimizes the need for manual editing when altering the behaviour of a code base. Neither does it rely on a compilation or a linking process nor does it make assumptions on the…

Software Engineering · Computer Science 2022-03-29 Thomas Mejstrik , Clara Hollomey

This paper describes a new modelling language for the effective design of Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown from a useful tool for the addition of meta-data to play a central role in…

Programming Languages · Computer Science 2019-10-02 Irene Córdoba , Juan de Lara

ReScript introduces a strongly typed language that targets JavaScript, as an alternative to gradually typed languages, such as TypeScript. In this paper, we present a type system for data-flow analysis for a subset of the ReScript language,…

Programming Languages · Computer Science 2024-08-23 Nicky Ask Lund , Hans Hüttel

In recent years, several industrial solutions for the problem of multi-token code completion appeared, each making a great advance in the area but mostly focusing on cloud-based runtime and avoiding working on the end user's device. In this…

Traditionally, we have two possibilities to design tools for program comprehension and analysis. The first option is to create a standalone program, independent of any source code editor. This way, the act of source code editing is…

Software Engineering · Computer Science 2018-08-31 Matúš Sulír , Jaroslav Porubän , Ondrej Zoričák

Architectural smells such as God Class, Cyclic Dependency, and Hub-like Dependency degrade software quality and maintainability. Existing tools detect such smells but rarely suggest how to fix them. This paper explores the use of…

Software Engineering · Computer Science 2025-07-22 Samal Nursapa , Anastassiya Samuilova , Alessio Bucaioni , Phuong T. Nguyen

We present JAttack, a framework that enables template-based testing for compilers. Using JAttack, a developer writes a template program that describes a set of programs to be generated and given as test inputs to a compiler. Such a…

Programming Languages · Computer Science 2022-09-13 Zhiqiang Zang , Nathan Wiatrek , Milos Gligoric , August Shi

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Long methods that encapsulate multiple responsibilities within a single method are challenging to maintain. Choosing which statements to extract into new methods has been the target of many research tools. Despite steady improvements, these…

Software Engineering · Computer Science 2024-04-26 Dorin Pomian , Abhiram Bellur , Malinda Dilhara , Zarina Kurbatova , Egor Bogomolov , Timofey Bryksin , Danny Dig

Refactoring tools in popular Integrated Development Environments (IDEs) can introduce unintended behavioral changes or compilation errors, a persistent challenge that undermines developer trust in automated transformations. Traditional…

Software Engineering · Computer Science 2026-05-05 Rohit Gheyi , Rian Melo , Jonhnanthan Oliveira , Marcio Ribeiro , Baldoino Fonseca

Formal verification of a software system relies on formalising the requirements to which it should adhere, which can be challenging. While formalising requirements from natural-language, we have dependencies that lead to duplication of…

Software Engineering · Computer Science 2022-02-14 Matt Luckcuck , Marie Farrell , Oisín Sheridan

Background. Refactoring is a critical task in software maintenance and is generally performed to enforce the best design and implementation practices or to cope with design defects. Several studies attempted to detect refactoring activities…

Software Engineering · Computer Science 2020-09-15 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni , Marouane Kessentini

Code refactoring is a fundamental software engineering practice aimed at improving code quality and maintainability. Despite its importance, developers often neglect refactoring due to the significant time, effort, and resources it…

Large language models (LLMs) are remarkably good at writing code. A particularly valuable case of human-LLM collaboration is code-based UI prototyping, a method for creating interactive prototypes that allows users to view and fully engage…

Human-Computer Interaction · Computer Science 2024-07-12 Jenny Ma , Karthik Sreedhar , Vivian Liu , Sitong Wang , Pedro Alejandro Perez , Lydia B. Chilton

There are various kinds of type analysis of logic programs. These include for example inference of types that describe an over-approximation of the success set of a program, inference of well-typings, and abstractions based on given types.…

Programming Languages · Computer Science 2007-05-23 Kim Henriksen , John Gallagher
‹ Prev 1 3 4 5 6 7 10 Next ›