44,869 research outputs found
BCFA: Bespoke Control Flow Analysis for CFA at Scale
Many data-driven software engineering tasks such as discovering programming
patterns, mining API specifications, etc., perform source code analysis over
control flow graphs (CFGs) at scale. Analyzing millions of CFGs can be
expensive and performance of the analysis heavily depends on the underlying CFG
traversal strategy. State-of-the-art analysis frameworks use a fixed traversal
strategy. We argue that a single traversal strategy does not fit all kinds of
analyses and CFGs and propose bespoke control flow analysis (BCFA). Given a
control flow analysis (CFA) and a large number of CFGs, BCFA selects the most
efficient traversal strategy for each CFG. BCFA extracts a set of properties of
the CFA by analyzing the code of the CFA and combines it with properties of the
CFG, such as branching factor and cyclicity, for selecting the optimal
traversal strategy. We have implemented BCFA in Boa, and evaluated BCFA using a
set of representative static analyses that mainly involve traversing CFGs and
two large datasets containing 287 thousand and 162 million CFGs. Our results
show that BCFA can speedup the large scale analyses by 1%-28%. Further, BCFA
has low overheads; less than 0.2%, and low misprediction rate; less than 0.01%.Comment: 12 page
Recommended from our members
Deriving real-time action systems with multiple time bands using algebraic reasoning
The verify-while-develop paradigm allows one to incrementally develop programs from their specifications using a series of calculations against the remaining proof obligations. This paper presents a derivation method for real-time systems with realistic constraints on their behaviour. We develop a high-level interval-based logic that provides flexibility in an implementation, yet allows algebraic reasoning over multiple granularities and sampling multiple sensors with delay. The semantics of an action system is given in terms of interval predicates and algebraic operators to unify the logics for an action system and its properties, which in turn simplifies the calculations and derivations
Node coarsening calculi for program slicing
Several approaches to reverse and re-engineering are based upon program slicing. Unfortunately, for large systems, such as those which typically form the subject of reverse engineering activities, the space and time requirements of slicing can be a barrier to successful application. Faced with this problem, several authors have found it helpful to merge control flow graph (CFG) nodes, thereby improving the space and time requirements of standard slicing algorithms. The node-merging process essentially creates a 'coarser' version of the original CFG. The paper introduces a theory for defining control flow graph node coarsening calculi. The theory formalizes properties of interest, when coarsening is used as a precursor to program slicing. The theory is illustrated with a case study of a coarsening calculus, which is proved to have the desired properties of sharpness and consistency
Safety Verification of Fault Tolerant Goal-based Control Programs with Estimation Uncertainty
Fault tolerance and safety verification of control systems that have state variable estimation uncertainty are essential for the success of autonomous robotic systems. A software control architecture called mission data system, developed at the Jet Propulsion Laboratory, uses goal networks as the control program for autonomous systems. Certain types of goal networks can be converted into linear hybrid systems and verified for safety using existing symbolic model checking software. A process for calculating the probability of failure of certain classes of verifiable goal networks due to state estimation uncertainty is presented. A verifiable example task is presented and the failure probability of the control program based on estimation uncertainty is found
The Silicon Meta-shell X-ray Mirror Technology Development Roadmap for the Lynx Mission
This document presents a roadmap for advancing the silicon meta-shell optics (SMO). It describes an overall strategy and key technical elements to be developed to meet the four-fold Lynx requirements: (1) angular resolution, (2) effective area, (3) mass, and (4) production schedule and cost. It also describes the building and testing of an engineering unit whose successful completion will retire all risks, technical, logistical, schedule, and cost, associated with building and delivering a mirror assembly for the Lynx mission. All of this work, designed to advance this technology to TRL 6, will be completed by Preliminary Design Review (PDR) to ensure that the flight mirror assembly production process will be but a repetition of a set of well-defined and mature steps, leading to on-time and on-budget delivery of a mirror assembly for the Lynx mission
A study of systems implementation languages for the POCCNET system
The results are presented of a study of systems implementation languages for the Payload Operations Control Center Network (POCCNET). Criteria are developed for evaluating the languages, and fifteen existing languages are evaluated on the basis of these criteria
Restructuring the rotor analysis program C-60
The continuing evolution of the rotary wing industry demands increasing analytical capabilities. To keep up with this demand, software must be structured to accommodate change. The approach discussed for meeting this demand is to restructure an existing analysis. The motivational factors, basic principles, application techniques, and practical lessons from experience with this restructuring effort are reviewed
The KB paradigm and its application to interactive configuration
The knowledge base paradigm aims to express domain knowledge in a rich formal
language, and to use this domain knowledge as a knowledge base to solve various
problems and tasks that arise in the domain by applying multiple forms of
inference. As such, the paradigm applies a strict separation of concerns
between information and problem solving. In this paper, we analyze the
principles and feasibility of the knowledge base paradigm in the context of an
important class of applications: interactive configuration problems. In
interactive configuration problems, a configuration of interrelated objects
under constraints is searched, where the system assists the user in reaching an
intended configuration. It is widely recognized in industry that good software
solutions for these problems are very difficult to develop. We investigate such
problems from the perspective of the KB paradigm. We show that multiple
functionalities in this domain can be achieved by applying different forms of
logical inferences on a formal specification of the configuration domain. We
report on a proof of concept of this approach in a real-life application with a
banking company. To appear in Theory and Practice of Logic Programming (TPLP).Comment: To appear in Theory and Practice of Logic Programming (TPLP
- …