English
Related papers

Related papers: Source Code Comprehension: A Contemporary Definiti…

200 papers

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

Several code summarization techniques have been proposed in the literature to automatically document a code snippet or a function. Ideally, software developers should be involved in assessing the quality of the generated summaries. However,…

Software Engineering · Computer Science 2023-12-27 Antonio Mastropaolo , Matteo Ciniselli , Massimiliano Di Penta , Gabriele Bavota

In the dynamic field of Software Engineering (SE), where practice is constantly evolving and adapting to new technologies, conducting research is a daunting quest. This poses a challenge for researchers: how to stay relevant and effective…

Software Engineering · Computer Science 2024-07-09 Jefferson Seide Molleri , Kai Petersen

The code base of software projects evolves essentially through inserting and removing information to and from the source code. We can measure this evolution via the elements of information - tokens, words, nodes - of the respective…

Software Engineering · Computer Science 2025-06-10 Adriano Torres , Sebastian Baltes , Christoph Treude , Markus Wagner

The advent of large language models (LLMs) has significantly advanced artificial intelligence (AI) in software engineering (SE), with source code embeddings playing a crucial role in tasks such as source code clone detection and source code…

Software Engineering · Computer Science 2025-06-04 Zixiang Xian , Chenhui Cui , Rubing Huang , Chunrong Fang , Zhenyu Chen

Understanding what a software engineer (a developer, an incident responder, a production engineer, etc.) is working on is a challenging problem -- especially when considering the more complex software engineering workflows in…

Software Engineering · Computer Science 2020-04-15 Ralf Lämmel , Alvin Kerber , Liane Praza

Decompilation, the process of converting machine-level code into readable source code, plays a critical role in reverse engineering. Given that the main purpose of decompilation is to facilitate code comprehension in scenarios where the…

Software Engineering · Computer Science 2024-10-01 Ruixin Qin , Yifan Xiong , Yifei Lu , Minxue Pan

Software visualizations are usually realized as standalone and isolated tools that use embedded code viewers within the visualization. In the context of program comprehension, only few approaches integrate visualizations into code editors,…

Software Engineering · Computer Science 2023-08-31 Alexander Krause-Glau , Wilhelm Hasselbring

Cognition plays a fundamental role in most software engineering activities. This article provides a taxonomy of cognitive concepts and a survey of the literature since the beginning of the Software Engineering discipline. The taxonomy…

Code review is widely known as one of the best practices for software quality assurance in software development. In a typical code review process, reviewers check the code committed by developers to ensure the quality of the code, during…

Software Engineering · Computer Science 2024-04-05 Beiqi Zhang , Liming Fu , Peng Liang , Jiaxin Yu , Chong Wang

Test suites are designed to validate the operation of a system against requirements. One important aspect of a test suite design is to ensure that system operation logic is tested completely. A test suite should drive a system through all…

Software Engineering · Computer Science 2016-11-15 Raimondas Lencevicius , Edu Metz , Alexander Ran

Decision-making is a key software engineering skill. Developers constantly make choices throughout the software development process, from requirements to implementation. While prior work has studied developer decision-making, the choices…

Software Engineering · Computer Science 2023-01-25 Jenny T. Liang , Maryam Arab , Minhyuk Ko , Amy J. Ko , Thomas D. LaToza

Compiler correctness is, in its simplest form, defined as the inclusion of the set of traces of the compiled program into the set of traces of the original program, which is equivalent to the preservation of all trace properties. Here…

Code review is a widely-used practice in software development companies to identify defects. Hence, code review has been included in many software engineering curricula at universities worldwide. However, teaching code review is still a…

Software Engineering · Computer Science 2021-02-04 Chun Yong Chong , Patanamon Thongtanunam , Chakkrit Tantithamthavorn

Generating a readable summary that describes the functionality of a program is known as source code summarization. In this task, learning code representation by modeling the pairwise relationship between code tokens to capture their…

Software Engineering · Computer Science 2020-05-05 Wasi Uddin Ahmad , Saikat Chakraborty , Baishakhi Ray , Kai-Wei Chang

Code completion, a key downstream task in code generation, is one of the most frequent and impactful methods for enhancing developer productivity in software development. As intelligent completion tools evolve, we need a robust evaluation…

Software Engineering · Computer Science 2024-10-25 Zhenyu Pan , Rongyu Cao , Yongchang Cao , Yingwei Ma , Binhua Li , Fei Huang , Han Liu , Yongbin Li

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

Code completion is widely used by software developers to provide coding suggestions given a partially written code snippet. Apart from the traditional code completion methods, which only support single token completion at minimal positions,…

Software Engineering · Computer Science 2021-06-29 Jingxuan Li , Rui Huang , Wei Li , Kai Yao , Weiguo Tan

Context: Code refactoring is widely recognized as an essential software engineering practice that improves the understandability and maintainability of source code. Several studies attempted to detect refactoring activities through mining…

Software Engineering · Computer Science 2025-02-07 Eman Abdullah AlOmar

Semantic code search is the task of retrieving relevant code snippet given a natural language query. Different from typical information retrieval tasks, code search requires to bridge the semantic gap between the programming language and…

Computation and Language · Computer Science 2022-01-28 Chen Wu , Ming Yan