Search NASA⌕ Search

SEARCH · Search NASA

Results for “BINARY CODE”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 19 records

Systems and methods for architecture-independent binary code analysis

Binaries configured for execution within respective computing environments may be disassembled into architecture-specific intermediate (AIL) representations. The AIL representations may be converted into canonical intermediate language (CIL) representations. The CIL representations may comprise normalized, architecture-independent code configured to characterize functionality of respective components of a binary (e.g., respective functions or the like). Feature vectors may be extracted from the CIL representations. The feature vectors may be used to identify components of respective binaries, assign security classifications to the binaries, and/or the like.

Haile, Jedediah T.↗

Using modularity to segment binary code

We consider the problem of recovering program structure from compiled binary code. We first extract the call graph and layout of functions in memory from the compiled code and represent this information in a graphical format. We then employ Louvain's modularity algorithm to identify clusters of functions that are considered to be related. We find that the quality and properties of clusters extracted by our technique are greatly impacted by the relative importance we assign to the call graph and the ordering of functions in memory.

97 MATHEMATICS AND COMPUTING↗

Systems and methods for binary code analysis

Human-readable (HR) code may be derived from a binary. The HR code may be configured to have statistical properties suitable for machine-learned (ML) translation. The HR code may comprise source code, intermediate code, assembly code, or the like. A machine-learned translator may be configured to translate the HR code into labels comprising semantic information pertaining to respective functions of the binary, such as a function name, role, or the like. Execution of the binary may be blocked in response to translating the HR code to a label associated with malware, such as cryptocurrency mining malware or the like. Conversely, the binary may be permitted to proceed to execution in response to determining that the translation is free from labels indicative of malware.

Anderson, Matthew W.↗

Single-shot x-ray phase-contrast and dark-field imaging based on coded binary phase mask

We introduce a coded-mask-based multi-contrast imaging method for high-resolution phase-contrast and dark-field imaging. The method uses a binary phase mask designed to provide an ultra-high-contrast pattern and reference-free single-shot measurement and an algorithm based on maximum-likelihood optimization and automatic differentiation to perform simultaneous reconstruction of absorption, phase, and dark-field object images. Further, we demonstrate that the method has great potential for real-time quantitative phase imaging and wavefront sensing when combined with deep learning.

Qiao, Zhi (ORCID:0000000286285320)↗

Efficient Binary Static Code Data Flow Analysis Using Unsupervised Learning

The ever increasing need to ensure that code is reliably, efficiently and safely constructed has fueled the evolution of popular static binary code analysis tools. In identifying potential coding flaws in binaries, tools such as IDA Pro are used to disassemble the binaries into an opcode/assembly language format in support of manual static code analysis. Because of the highly manual and resource intensive nature involved with analyzing large binaries, the probability of overlooking potential coding irregularities and inefficiencies is quite high. In this paper, a light-weight data, unsupervised data flow methodology is described which uses highly-correlated data flow graph (CDFGs) to identify coding irregularities such that analysis time and required computing resources are minimized. Such analysis accuracy and efficiency gains are achieved by using a combination of graph analysis and unsupervised machine learning techniques which allows an analyst to focus on the most statistically significant flow patterns while performing binary static code analysis.

97 MATHEMATICS AND COMPUTING↗

A New Vehicle-to-Vehicle Communication Technology Based on Binary Light Code

The proliferation of Connected and Autonomous Vehicles (CAVs) has necessitated the development of efficient, reliable communication methods between vehicles and their surroundings. This study presents a novel methodology, the VECTOR system, that addresses this need by converting dynamic vehicle data into a binary code and displaying it on an LED panel. The system involves a three-step process of data collection, polynomial fitting of velocity data, and encoding the polynomial parameters into binary form using a Cyclic Redundancy Check (CRC). The study also explores the practical application of this system by conducting experiments with modified Lincoln MKZ hybrids, demonstrating the feasibility and efficiency of this approach. The paper presents both the methodology and results of these experiments, further expanding upon the potential applications and implications for CAV technology. By comparing the final accuracy, we find this approach can achieve 80% of the original velocity data.

Ma, Ke↗

Comparing quantum annealing and spiking neuromorphic computing for sampling binary sparse coding QUBO problems

We consider the problem of computing a sparse binary representation of an image. Given an image and an overcomplete, non-orthonormal basis, we aim to find a sparse binary vector indicating the minimal set of basis vectors that when added together best reconstruct the given input. We formulate this problem with an L 2 loss on the reconstruction error, and an L 0 loss on the binary vector enforcing sparsity. First, we solve the sparse representation QUBOs by solving them both on a D-Wave quantum annealer with Pegasus chip connectivity, as well as on the Intel Loihi 2 spiking neuromorphic processor using a stochastic Non-equilibrium Boltzmann Machine (NEBM). Second, using Quantum Evolution Monte Carlo with Reverse Annealing and iterated warm starting on Loihi 2 to evolve the solution quality from the respective machines. We demonstrate that both quantum annealing and neuromorphic computing are suitable for solving binary sparse coding QUBOs.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

The Santa Barbara Binary-disk Code Comparison

We have performed numerical calculations of a binary interacting with a gas disk, using 11 different numerical methods and a standard binary-disk setup. The goal of this study is to determine whether all codes agree on a numerically converged solution and to determine the necessary resolution for convergence and the number of binary orbits that must be computed to reach an agreed-upon relaxed state of the binary-disk system. We find that all codes can agree on a converged solution (depending on the diagnostic being measured). The zone spacing required for most codes to reach a converged measurement of the torques applied to the binary by the disk is roughly 1% of the binary separation in the vicinity of the binary components. For our disk model to reach a relaxed state, codes must be run for at least 200 binary orbits, corresponding to about a viscous time for our parameters, 0.2(a 2 Ω B /v) is the kinematic viscosity. The largest discrepancies between codes resulted from the dimensionality of the setup (3D vs. 2D disks). We find good agreement in the total torque on the binary between codes, although the partition of this torque between the gravitational torque, orbital accretion torque, and spin accretion torque depends sensitively on the sink prescriptions employed. In agreement with previous studies, we find a modest difference in torques and accretion variability between 2D and 3D disk models. We find cavity precession rates to be appreciably faster in 3D than in 2D.

79 ASTRONOMY AND ASTROPHYSICS↗

CodEx: A Modular Framework for Joint Temporal De-Blurring and Tomographic Reconstruction

In many computed tomography (CT) imaging applications, it is important to rapidly collect data from an object that is moving or changing with time. Tomographic acquisition is generally assumed to be step-and-shoot, where the object is rotated to each desired angle, and a view is taken. However, step-and-shoot acquisition is slow and can waste photons, so in practice fly-scanning is done where the object is continuously rotated while collecting data. However, this can result in motion-blurred views and consequently reconstructions with severe motion artifacts. In this paper, we introduce CodEx, a modular framework for joint de-blurring and tomographic reconstruction that can effectively invert the motion blur introduced in sparse view fly-scanning. The method is a synergistic combination of a novel acquisition method with a novel non-convex Bayesian reconstruction algorithm. CodEx works by encoding the acquisition with a known binary code that the reconstruction algorithm then inverts. Using a well chosen binary code to encode the measurements can improve the accuracy of the inversion process. The CodEx reconstruction method uses the alternating direction method of multipliers (ADMM) to split the inverse problem into iterative deblurring and reconstruction sub-problems, making reconstruction practical to implement. Here we present reconstruction results on both simulated and binned experimental data to demonstrate the effectiveness of our method.

42 ENGINEERING↗

Optvis

Optvis is a web application to visualize control flow graphs, call graphs, disassembly code from a binary or executable. The main use case is visualizing the compiler optimizations in binary code.

Aschwanden, PascalD.↗

ACES: Infrastructure As Code. Model Optimization and Performance Capability

Infrastructure as Code (IaC) refers to managing infrastructure (networks, physical/virtual machines, storage, and connection topology) in a descriptive model/language, rather than configuring it manually or using interactive configuration tools. Just like source code can be compiled to generate the same binary code, IaC enables generating the same environment every time it is applied. IaC is a key DevOps practice and is generally used in conjunction with continuous integration (CI) and continuous delivery (CD). In CI, all code changes are merged into a mainline branch and validated multiple times a day as developers check in their changes to the source code. In CD on the other hand, code changes are automatically packaged for a new release-to-production on a regular basis. This typically enables teams to deliver software changes much more quickly and often. Developing and managing the ACES platform using (IaC) is vital for the robust deployment and continued sustainment of this foundational computing capability. IaC and DevOps practices will help us solve many of the common challenges often encountered in developing and maintaining compute infrastructure. First, it will make the provisioning, deployment, and maintenance of the compute infrastructure across multiple environments much more efficient. Second, these processes help make the overall system much more stable by continuously testing new changes as they are introduced to the system. Third, it allows us to be much more confident of the security controls in place since they can be tested as part of the CI process and all new changes can be audited and tracked. Finally, IaC enables the ACES Platform to be adaptable to the emerging technologies due to its ability to spin up different test beds to evaluate and incorporate these technologies. This document addresses common infrastructure-management challenges, describes what happens if they are not addressed, and highlights the value of utilizing IaC to tackle them. Finally, we will provide a high-level overview of the IaC and DevOps practices being utilized by the ACES Platform team.

97 MATHEMATICS AND COMPUTING↗

Assurance of Reasoning Enabled Systems (ARES)

ARES was in part motivated by the determination of President’s Council of Advisors on Science and Technology (PCAST) on May 13th, 2023 that published a set of inquiries: In an era in which convincing images, audio, and text can be generated with ease on a massive scale, how can we ensure reliable access to verifiable, trustworthy information? How can we be certain that a particular piece of media is genuinely from the claimed source? What technologies, policies, and infrastructure can be developed to detect and counter AI-generated disinformation? In an effort to automatically analyze and patch/optimize code the work in this report describes various neural Machine Learning (ML) analysis engine implementations to assist in situations where source code is deficient or completely lacking to decompile (lift) binary code to ’C’. The goal is to gradually reduce human intervention. To this end, two Large Language Model (LLM) variants (Code LLama 2, LLama 3.1 and Starcoder1, Starcoder 2) where finetuned with ’before/after’ code pairs on the OpenBLAS library. LLama trained on the lowering process, Starcoder trained on the lifting process with National Security Agency’s (NSA) open-source Ghidra decompiler assist. The inferencing test results indicate correctness for only very short sequences for Starcoder 2. Moving forward, the experiments conclude with a set of recommendations of required resources and technologies

97 MATHEMATICS AND COMPUTING↗

Exploring Explicit Uncertainty for Binary Analysis (EUBA)

Reverse engineering (RE) analysts struggle to address critical questions about the safety of binary code accurately and promptly, and their supporting program analysis tools are simply wrong sometimes. The analysis tools have to approximate in order to provide any information at all, but this means that they introduce uncertainty into their results. And those uncertainties chain from analysis to analysis. We hypothesize that exposing sources, impacts, and control of uncertainty to human binary analysts will allow the analysts to approach their hardest problems with high-powered analytic techniques that they know when to trust. Combining expertise in binary analysis algorithms, human cognition, uncertainty quantification, verification and validation, and visualization, we pursue research that should benefit binary software analysis efforts across the board. We find a strong analogy between RE and exploratory data analysis (EDA); we begin to characterize sources and types of uncertainty found in practice in RE (both in the process and in supporting analyses); we explore a domain-specific focus on uncertainty in pointer analysis, showing that more precise models do help analysts answer small information flow questions faster and more accurately; and we test a general population with domain-general sudoku problems, showing that adding "knobs" to an analysis does not significantly slow down performance. This document describes our explorations in uncertainty in binary analysis.

97 MATHEMATICS AND COMPUTING↗

A New Vehicle-to-Vehicle Communication System: Visual-Enhanced Cooperative Traffic Operations

The advent of Connected and Autonomous Vehicles (CAVs) has highlighted the necessity for robust communication systems between vehicles and their environment. This study introduces a novel vehicle-to-vehicle (V2V) communication system, termed the Visual-Enhanced Cooperative Traffic Operations (VECTOR) system. The VECTOR system addresses the need for robust communication by converting dynamic data (including velocity and yaw angle data) into binary code, which is displayed on an LED panel mounted on the top of the vehicle. Following vehicles detect this panel and decode the information using a camera, implementing a visual-based communication method. VECTOR system employs a comprehensive five-module process. Initially, polynomial fitting techniques are applied to velocity data over fixed time intervals using third-degree polynomials, with validation via R² and MSE metrics. The second module converts velocity and yaw angle data into binary form, thereby enhancing detection and processing efficiency. The third module focuses on improving detection stability across various environmental conditions to enhance traffic safety. The fourth module decodes the binary data back into trajectory information, ensuring the fidelity of velocity and yaw angles. The final module integrates eco-control through the VECTOR system, employing advanced control algorithms to minimize energy consumption in CAVs. Experimental evaluations conducted using a modified CAV test platform based on the Lincoln MKZ demonstrate the feasibility and efficiency of the VECTOR system, achieving a 75% R-squared accuracy rate in replicating original velocity data. This methodology not only highlights potential applications but also underscores significant implications for advancing CAV technology.

Ma, Ke↗

Passive Digital Sensing Method and Its Implementation on Passive RFID Temperature Sensors

Benefitting from the advancement of digital electronics in the 20 th century, sensors have also gradually evolved from analog to digital. As semiconductor components are required in digital sensors, a power supply is still needed for the sensor. To eliminate the need for a power supply a concept of passive digital sensing is proposed. Different from the semiconductor-based electrical digital sensing method, the parameter to be measured is first converted to a mechanical signal, then the mechanical signal is encoded to multiple digital bits by a passive digitizer, where each bit is identified as open or short state that is detectable by general IO ports. To demonstrate the proposed sensing concept, a passive RFID temperature sensor is implemented using a bimetallic coil as the temperature sensing unit. The 6-bit binary codes are acquired and transmitted by a passive RFID that is powered by an energy harvester. Furthermore, the test results show that the temperature sensor has a measurement sensitivity of 1.32 °C/bit and a working distance over 10 meters.

47 OTHER INSTRUMENTATION↗