English
Related papers

Related papers: CcNav: Understanding Compiler Optimizations in Bin…

200 papers

Binary code similarity detection is to detect the similarity of code at binary (assembly) level without source code. Existing works have their limitations when dealing with mutated binary code generated by different compiling options. In…

Cryptography and Security · Computer Science 2023-08-08 Zian Liu

There is a growing need for computational tools to automatically design and verify autonomous systems, especially complex robotic systems involving perception, planning, control, and hardware in the autonomy stack. Differentiable…

Robotics · Computer Science 2022-04-26 Charles Dawson , Chuchu Fan

Automatic code optimization is a complex process that typically involves the application of multiple discrete algorithms that modify the program structure irreversibly. However, the design of these algorithms is often monolithic, and they…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

Program visualizations help to form useful mental models of how programs work, and to reason and debug code. But these visualizations exist at a fixed level of abstraction, e.g., line-by-line. In contrast, programmers switch between many…

Human-Computer Interaction · Computer Science 2023-06-14 Devamardeep Hayatpur , Haijun Xia , Daniel Wigdor

Traditional neural architecture search (NAS) has a significant impact in computer vision by automatically designing network architectures for various tasks. In this paper, binarized neural architecture search (BNAS), with a search space of…

Computer Vision and Pattern Recognition · Computer Science 2020-09-10 Hanlin Chen , Li'an Zhuo , Baochang Zhang , Xiawu Zheng , Jianzhuang Liu , Rongrong Ji , David Doermann , Guodong Guo

In software reverse engineering, decompilation is the process of recovering source code from binary files. Decompilers are used when it is necessary to understand or analyze software for which the source code is not available. Although…

Software Engineering · Computer Science 2021-02-25 Javier Escalada , Ted Scully , Francisco Ortin

It has been argued that computational thinking should precede computer programming in the course of a career in computing. This argument is the basis for the slogan "logic first, syntax later" and the development of many cryptic syntax…

Computers and Society · Computer Science 2018-11-13 Patrick Vanvorce , Hasan M. Jamil

This paper proposes an open source visual analytics tool consisting of several views and perspectives on eye movement data collected during code reading tasks when writing computer programs. Hence the focus of this work is on code and…

Human-Computer Interaction · Computer Science 2022-08-02 Ayush Kumar , Ashish Kumar , Aakanksha Prasad , Michael Burch , Shenghui Cheng , Klaus Mueller

An optimizing compiler consists of a front end parsing a textual programming language into an intermediate representation (IR), a middle end performing optimizations on the IR, and a back end lowering the IR to a target representation (TR)…

Programming Languages · Computer Science 2011-11-22 Sebastian Buchwald , Edgar Jakumeit

WebAssembly is a low-level bytecode language designed for client-side execution in web browsers. The need for decompilation techniques that recover high-level source code from WASM binaries has grown as WASM continues to gain widespread…

Software Engineering · Computer Science 2024-11-05 Wei-Cheng Wu , Yutian Yan , Hallgrimur David Egilsson , David Park , Steven Chan , Christophe Hauser , Weihang Wang

Consider the case where a programmer has written some part of a program, but has left part of the program (such as a method or a function body) incomplete. The goal is to use the context surrounding the missing code to automatically 'figure…

Software Engineering · Computer Science 2020-07-28 Rohan Mukherjee , Swarat Chaudhuri , Chris Jermaine

There is a trend towards increased specialization of data management software for performance reasons. In this paper, we study the automatic specialization and optimization of database application programs -- sequences of queries and…

Binary rewriting is a rapidly-maturing technique for modifying software for instrumentation, customization, optimization, and hardening without access to source code. Unfortunately, the practical applications of binary rewriting tools are…

Software Engineering · Computer Science 2022-09-09 Eric Schulte , Michael D. Brown , Vlad Folts

Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to increase instruction-level parallelism) are essential tasks for generating efficient assembly code in a…

Programming Languages · Computer Science 2019-06-10 Roberto Castañeda Lozano , Christian Schulte

Profiling tools (also known as profilers) play an important role in understanding program performance at runtime, such as hotspots, bottlenecks, and inefficiencies. While profilers have been proven to be useful, they give extra burden to…

Software Engineering · Computer Science 2025-08-06 Zhuoran Liu

Given a closed-source program, such as most of proprietary software and viruses, binary code analysis is indispensable for many tasks, such as code plagiarism detection and malware analysis. Today, source code is very often compiled for…

Cryptography and Security · Computer Science 2018-12-27 Kimberly Redmond , Lannan Luo , Qiang Zeng

Improving the performance of deep neural networks (DNNs) is important to both the compiler and neural architecture search (NAS) communities. Compilers apply program transformations in order to exploit hardware parallelism and memory…

Machine Learning · Computer Science 2021-02-15 Jack Turner , Elliot J. Crowley , Michael O'Boyle

Developers spend 70% of their time understanding code. Code that is easy to read can save time, while hard-to-read code can lead to the introduction of bugs. However, it is difficult to establish what makes code more understandable.…

Software Engineering · Computer Science 2021-10-05 Delano Oliveira

This work presents a comprehensive evaluation of neural network graph compilers across heterogeneous hardware platforms, addressing the critical gap between theoretical optimization techniques and practical deployment scenarios. We…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-30 Alireza Furutanpey , Carmen Walser , Philipp Raith , Pantelis A. Frangoudis , Schahram Dustdar

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…