English
Related papers

Related papers: IDE-Independent Program Comprehension Tools via So…

200 papers

Understanding binary code is an essential but complex software engineering task for reverse engineering, malware analysis, and compiler optimization. Unlike source code, binary code has limited semantic information, which makes it…

Software Engineering · Computer Science 2022-10-12 Yifan Zhang

We propose a model to automatically describe changes introduced in the source code of a program using natural language. Our method receives as input a set of code commits, which contains both the modifications and message introduced by an…

Computation and Language · Computer Science 2017-04-18 Pablo Loyola , Edison Marrese-Taylor , Yutaka Matsuo

Source code plagiarism detection is a problem that has been addressed several times before; and several tools have been developed for that purpose. In this research project we investigated a set of possible disguises that can be…

Other Computer Science · Computer Science 2017-11-08 Hatem A. Mahmoud

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

We describe an intelligent assistant based on mining existing software repositories to help the developer interactively create checkable specifications of code. To be most useful we apply this at the subsystem level, that is chunks of code…

Software Engineering · Computer Science 2022-09-21 Steven P. Reiss

A source code difference (diff) indicates changes made by comparing new and old source codes, and it can be utilized in code reviews to help developers understand the changes made to the code. Although many diff generation methods have been…

Software Engineering · Computer Science 2024-09-27 Tsukasa Yagi , Shinpei Hayashi

One common task of developing or maintaining software is searching the source code for information like specific method calls or write accesses to certain fields. This kind of information is required to correctly implement new features and…

Software Engineering · Computer Science 2016-11-18 Markus Kimmig , Martin Monperrus , Mira Mezini

In software engineering, a great number of new approaches are being actively researched, and a lot of tools are being developed based on them. These tools require a framework for their creation and an opportunity to be used by potential…

Software Engineering · Computer Science 2021-10-04 Zarina Kurbatova , Yaroslav Golubev , Vladimir Kovalenko , Timofey Bryksin

Source code written in textual programming languages is typically edited in integrated development environments or specialized code editors. These tools often display various visual items, such as icons, color highlights or more advanced…

Software Engineering · Computer Science 2018-11-13 Matúš Sulír , Michaela Bačíková , Sergej Chodarev , Jaroslav Porubän

The source code suggestions provided by current IDEs are mostly dependent on static type learning. These suggestions often end up proposing irrelevant suggestions for a peculiar context. Recently, deep learning-based approaches have shown…

Neural and Evolutionary Computing · Computer Science 2020-07-15 Yasir Hussain , Zhiqiu Huang , Yu Zhou , Senzhang Wang

Program comprehension is a fundamental task in software development and maintenance processes. Software developers often need to understand a large amount of existing code before they can develop new features or fix bugs in existing…

Machine Learning · Computer Science 2019-10-29 Vinoj Jayasundara , Nghi Duy Quoc Bui , Lingxiao Jiang , David Lo

Integrated development environments (IDE) play an important role in supporting developers during program comprehension and completion. Many of these supportive features focus on low-level programming and debugging activities. Unfortunately,…

Software Engineering · Computer Science 2021-05-20 Ali Shokri , Mehdi Mirakhorli

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

With the development of artificial intelligence, writing assistants (WAs) are changing the way people interact with text, creating lengthy outputs that can be overwhelming for users. The programming field has long addressed this issue, and…

Software Engineering · Computer Science 2023-03-29 Sergey Titov , Agnia Sergeyuk , Timofey Bryksin

An inherently abstract nature of source code makes programs difficult to understand. In our research, we designed three techniques utilizing concrete values of variables and other expressions during program execution. RuntimeSearch is a…

Software Engineering · Computer Science 2018-12-20 Matúš Sulír

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

Comments are an integral part of software development; they are natural language descriptions associated with source code elements. Understanding explicit associations can be useful in improving code comprehensibility and maintaining the…

Computation and Language · Computer Science 2019-12-17 Sheena Panthaplackel , Milos Gligoric , Raymond J. Mooney , Junyi Jessy Li

Static source code analysis is a powerful tool for finding and fixing bugs when deployed properly; it is, however, all too easy to deploy it in a way that looks good superficially, but which misses important defects, shows many false…

Software Engineering · Computer Science 2022-02-25 Flash Sheridan

In this paper, we present the CPG analysis platform, which enables the translation of source code into a programming language-independent representation, based on a code property graph. This allows security experts and developers to capture…

Cryptography and Security · Computer Science 2022-03-17 Konrad Weiss , Christian Banse

Representing source code in a generic input format is crucial to automate software engineering tasks, e.g., applying machine learning algorithms to extract information. Visualizing code representations can further enable human experts to…

Software Engineering · Computer Science 2023-07-28 Yuejun Guo , Seifeddine Bettaieb , Qiang Hu , Yves Le Traon , Qiang Tang