48 research outputs found
Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image
Whole-program analysis is an essential technique that enables advanced
compiler optimizations. An important example of such a method is points-to
analysis used by ahead-of-time (AOT) compilers to discover program elements
(classes, methods, fields) used on at least one program path. GraalVM Native
Image uses a points-to analysis to optimize Java applications, which is a
time-consuming step of the build. We explore how much the analysis time can be
improved by replacing the points-to analysis with a rapid type analysis (RTA),
which computes reachable elements faster by allowing more imprecision. We
propose several extensions of previous approaches to RTA: making it parallel,
incremental, and supporting heap snapshotting. We present an extensive
experimental evaluation of the effects of using RTA instead of points-to
analysis, in which RTA allowed us to reduce the analysis time for Spring
Petclinic, a popular demo application of the Spring framework, by 64% and the
overall build time by 35% at the cost of increasing the image size due to the
imprecision by 15%
2LS: memory safety and non-termination (competition contribution)
2LS is a C program analyser built upon the CPROVER infrastructure. 2LS is bit-precise and it can verify and refute program assertions and termination. 2LS implements template-based synthesis techniques, e.g. to find invariants and ranking functions, and incremental loop unwinding techniques to find counterexamples and -induction proofs. New features in this year's version are improved handling of
heap-allocated data structures using a template domain for shape analysis and two approaches to prove program non-termination
The AQUAS ECSEL Project Aggregated Quality Assurance for Systems: Co-Engineering Inside and Across the Product Life Cycle
There is an ever-increasing complexity of the systems we engineer in modern society, which includes facing the convergence of the embedded world and the open world. This complexity creates increasing difficulty with providing assurance for factors including safety, security and performance. In such a context, the AQUAS project investigates the challenges arising from e.g., the inter-dependence of safety, security and performance of systems and aims at efficient solutions for the entire product life-cycle. The project builds on knowledge of partners gained in current or former EU projects and will demonstrate the newly developed methods and techniques for co-engineering across use cases spanning Aerospace, Medicine, Transport and Industrial Control.A special thanks to all the AQUAS consortium people that have worked on the AQUAS proposal on which this paper is based, especially to Charles Robinson (TRT), the proposal coordinator. The AQUAS project is funded from the ECSEL Joint Undertaking under grant agreement n 737475, and from National funding
Možnosti zvyšování ekonomické efektivnosti výroby oceli na konvertorech OXIVIT v ocelárně 1 Vítkovice, a.s.
PrezenčníNeuvedenoNeuveden
HADES: Microprocessor Hazard Analysis via Formal Verification of Parameterized Systems
HADES is a fully automated verification tool for pipeline-based microprocessors that aims at flaws caused by improperly handled data hazards. It focuses on single-pipeline microprocessors designed at the register transfer level (RTL) and deals with read-after-write, write-after-write, and write-after-read hazards. HADES combines several techniques, including data-flow analysis, error pattern matching, SMT solving, and abstract regular model checking. It has been successfully tested on several microprocessors for embedded applications