English
Related papers

Related papers: ScaMaha: A Tool for Parsing, Analyzing, and Visual…

200 papers

The use of open-source software (OSS) is ever-increasing, and so is the number of open-source vulnerabilities being discovered and publicly disclosed. The gains obtained from the reuse of community-developed libraries may be offset by the…

Cryptography and Security · Computer Science 2025-03-18 Serena E. Ponta , Henrik Plate , Antonino Sabetta

Reverse engineering has been a standard practice in the hardware community for some time. It has only been within the last ten years that reverse engineering, or "program comprehension", has grown into the current sub-discipline of software…

Software Engineering · Computer Science 2007-05-23 Michael L. Nelson

Software engineering education and training have obstacles caused by a lack of basic knowledge about a process of program execution. The article is devoted to the development of special tools that help to visualize the process. We analyze…

Software visualization approaches for code reviews are often implemented as standalone applications, which use static code analysis. The goal is to visualize the structural changes introduced by a pull / merge request to facilitate the…

Software Engineering · Computer Science 2024-08-16 Alexander Krause-Glau , Lukas Damerau , Malte Hansen , Wilhelm Hasselbring

Developers today use significant amounts of open source code, surfacing the need for ways to automatically audit and upgrade library dependencies, and giving rise to the subfield of Software Composition Analysis (SCA). SCA products are…

Software Engineering · Computer Science 2019-10-01 Darius Foo , Jason Yeo , Hao Xiao , Asankhaya Sharma

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

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

It is a high-quality algorithm for hierarchical clustering of large software source code. This effectively allows to break the complexity of tens of millions lines of source code, so that a human software engineer can comprehend a software…

Artificial Intelligence · Computer Science 2012-07-05 Sarge Rogatch

Binary code similarity analysis (BCSA) is widely used for diverse security applications, including plagiarism detection, software license violation detection, and vulnerability discovery. Despite the surging research interest in BCSA, it is…

Software Engineering · Computer Science 2022-07-08 Dongkwan Kim , Eunsoo Kim , Sang Kil Cha , Sooel Son , Yongdae Kim

Static Code Analyzers (SCAs) have played a critical role in software quality assurance. However, SCAs with various static analysis techniques suffer from different levels of false positives and false negatives, thereby yielding the varying…

Software Engineering · Computer Science 2024-12-25 Xiuting Ge , Chunrong Fang , Xuanye Li , Ye Shang , Mengyao Zhang , Ya Pan

Developing an algorithm for a visualization prototype often involves the direct comparison of different development stages and design decisions, and even minor modifications may dramatically affect the results. While existing development…

Software Engineering · Computer Science 2020-01-08 Fabian Bolte , Stefan Bruckner

Software obfuscation or obscuring a software is an approach to defeat the practice of reverse engineering a software for using its functionality illegally in the development of another software. Java applications are more amenable to…

Cryptography and Security · Computer Science 2009-04-23 Praveen Sivadasan , P Sojan Lal

Modern software development increasingly depends on open-source libraries and third-party components, which are often encapsulated into containerized environments. While improving the development and deployment of applications, this…

Software Engineering · Computer Science 2025-09-12 Jacopo Bufalino , Agathe Blaise , Stefano Secci

Legacy systems concentrate business rules, architectural decisions, and operational exceptions that often remain implicit in code, data, configuration, and maintenance practices. At the same time, language-model-based coding agents depend…

Software Engineering · Computer Science 2026-05-19 Sanderson Oliveira de Macedo , Ronaldo Martins da Costa

A Software Bill of Materials (SBoM) is a detailed inventory of all components, libraries, and modules in a software artifact, providing traceability throughout the software supply chain. With the increasing popularity of JavaScript in…

Software Engineering · Computer Science 2024-08-30 Leo Song , Steven H. H. Ding , Yuan Tian , Li Tao Li , Philippe Charland , Andrew Walenstein

Static and dynamic binary analysis techniques are actively used to reverse engineer software's behavior and to detect its vulnerabilities, even when only the binary code is available for analysis. To avoid analysis errors due to misreading…

Cryptography and Security · Computer Science 2021-08-24 Sami Kairajärvi , Andrei Costin , Timo Hämäläinen

In recent years there has been a considerable effort in optimising formal methods for application to code. This has been driven by tools such as CPAChecker, DIVINE, and CBMC. At the same time tools such as Uppaal have been massively…

Software Engineering · Computer Science 2021-08-09 Mitja Kulczynski , Axel Legay , Dirk Nowotka , Danny Bøgsted Poulsen

Modern spreadsheet systems can be used to implement complex spreadsheet applications including data sheets, customized user forms and executable procedures written in a scripting language. These applications are often developed by…

Software Engineering · Computer Science 2015-03-12 Domenico Amalfitano , Nicola Amatucci , Vincenzo De Simone , Anna Rita Fasolino , Porfirio Tramontana

System design tools are often only available as input-output blackboxes: for a given design as input they compute an output representing system behavior. Blackboxes are intended to be run in the forward direction. This paper presents a new…

Machine Learning · Computer Science 2022-04-08 Sanjai Narain , Emily Mak , Dana Chee , Brendan Englot , Kishore Pochiraju , Niraj K. Jha , Karthik Narayan

Static analyzers are tool sets which are proving to be indispensable to modern programmers. These enable the programmers to detect possible errors and security defects present in the current code base within the implementation phase of the…

Software Engineering · Computer Science 2019-05-14 Eljose E Sajan , Yunpeng Zhang , Liang-Chieh Cheng