A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2017; you can also visit the original URL.
The file type is application/pdf
.
Filters
Signedness-Agnostic Program Analysis: Precise Integer Bounds for Low-Level Code
[chapter]
2012
Lecture Notes in Computer Science
We show how program analysis can simultaneously consider each bit-string to be both signed and unsigned, thus improving precision, and we implement the idea for the specific case of integer bounds analysis ...
Many compilers target common back-ends, thereby avoiding the need to implement the same analyses for many different source languages. This has led to interest in static analysis of LLVM code. ...
We thank Fernando Pereira, Victor Campos, Douglas do Couto, and Igor Rafael for fruitful discussions and for making their LLVM SSI construction pass available. ...
doi:10.1007/978-3-642-35182-2_9
fatcat:pqdnbt7phfbxjk7tuf6rh7uray
Interval Analysis and Machine Arithmetic
2015
ACM Transactions on Programming Languages and Systems
We present a novel integer interval abstract domain that correctly handles wrap-around. The analysis is signedness agnostic. ...
Yet much work to date on program analysis and verification of integer computations treats integers as having infinite precision, and most analyses that do respect fixed width lose precision when overflow ...
ACKNOWLEDGMENTS We would like to thank John Regehr, Jie Liu, Douglas Teixeira and Fernando Pereira for helpful discussions about interval analysis and LLVM. ...
doi:10.1145/2651360
fatcat:xwhuupxo5jcvfezmxildkmime4
Bound Analysis for Whiley Programs
2016
Electronical Notes in Theoretical Computer Science
This paper presents an abstract interpretation-based bound inference approach along with symbolic analysis for Whiley programs. ...
The bound analysis results provide conservative estimates of the ranges of integer variables and array sizes so that efficient code can be generated and integer overflows avoided. ...
Acknowledgement Thanks for Dr. David J. Pearce's technical support and to Google for some funding support for this project via a grant to Dr Utting. ...
doi:10.1016/j.entcs.2016.01.005
fatcat:qjp7rhd3svcdhj2qurbveq5rpu
SOK: (State of) The Art of War: Offensive Techniques in Binary Analysis
2016
2016 IEEE Symposium on Security and Privacy (SP)
The lack of high-level, semantically rich information about data structures and control constructs makes the analysis of program properties harder to scale. ...
However, the importance of binary analysis is on the rise. In many situations binary analysis is the only possible way to prove (or disprove) properties about the code that is actually executed. ...
Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. ...
doi:10.1109/sp.2016.17
dblp:conf/sp/Shoshitaishvili16
fatcat:dw3axxn4mbczjmhpwhwd5jnfe4
Solving Difference Constraints over Modular Arithmetic
[chapter]
2013
Lecture Notes in Computer Science
In the context of fixed-precision integers, as used in assembly languages for example, the use of classical difference logic is unsound. ...
Difference logic is commonly used in program verification and analysis. ...
We wish to improve static analysis techniques for low-level programming languages that use w-bit fixed-precision integers, that is, we are interested in the particular case m " 2 w . ...
doi:10.1007/978-3-642-38574-2_15
fatcat:xjv5qppofvahdjoodlsjr6shfm
Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development
2015
Summit on Advances in Programming Languages
An important reason for this brokenness is that much of language design is implementation-driven. ...
The problem is only getting worse with programming languages proliferating and hardware becoming more complicated. ...
Integers do not have signedness, but concrete operations, including UDIV and SDIV, may treat integer operands as signed or unsigned. ...
doi:10.4230/lipics.snapl.2015.321
dblp:conf/snapl/WangLBNH15
fatcat:7l56h52odzc5fcv2kk2fjenbwy
SoK: Eternal War in Memory
2013
2013 IEEE Symposium on Security and Privacy
Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. ...
Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. ...
Sekar, Stephen McCamant, and Dan Caselden for their insightful reviews, helpful comments and proofreading. ...
doi:10.1109/sp.2013.13
dblp:conf/sp/SzekeresPWS13
fatcat:slxnjwdqhrcx3crwc7dtjyxpqq
Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications
2015
2015 IEEE Symposium on Security and Privacy
Code reuse attacks such as return-oriented programming (ROP) have become prevalent techniques to exploit memory corruption vulnerabilities in software programs. ...
We demonstrate that many of these defenses that do not consider object-oriented C++ semantics precisely can be generically bypassed in practice. ...
ACKNOWLEDGMENT We thank the anonymous reviewers and Herbert Bos for their constructive comments that guided the final version of this paper. ...
doi:10.1109/sp.2015.51
dblp:conf/sp/SchusterTLDSH15
fatcat:zokjzurkevaw3jnliawvwlzaki
Static analysis of eWASM contracts
2020
Besides the successful static analysis of smaller eWASM contracts, the work also represents a stepping stone for future work in this area. ...
Ethereum is such a cryptocurrency platform, which supports the execution of programs, called smart contracts, on its blockchain. ...
WASM is a portable and low-level bytecode, intended mainly as compilation target for higher-languages. ...
doi:10.34726/hss.2019.72720
fatcat:2idjm7lt6vg6vcs2r3h6stphfe
Applicable and sound polyhedral optimization of low-level programs
[article]
2019
Diese Arbeit ist in englischer Sprache verfasst. i Abstract Applicable and Sound Polyhedral Optimization of Low-Level Programs by Johannes Rudolf Doerfert Compiler Design Lab Saarland University Computers ...
While it is widely acknowledged for its analytical powers and transformation capabilities, it is also widely assumed to be too restrictive and fragile for real-world programs. ...
and optimizations for polyhedral model based tools on low-level programs. ...
doi:10.22028/d291-29814
fatcat:umymkehqoff4bhxsmbta4ohvrq
Scaling Software Security Analysis to Millions of Malicious Programs and Billions of Lines of Code
2018
In this dissertation, we argue that automatic code reuse detection enables an efficient data reduction of a high volume of incoming malware for downstream analysis and enhances software security by efficiently ...
In order to demonstrate the benefits of automatic software similarity detection, we discuss two representative problems that are remedied by scalable analysis: malware triage and unpatched code clone detection ...
Listing 6.13 shows an example of an unpatched code clone that is present but not vulnerable. The patch fixes an integer signedness bug in various BSD kernels. ...
doi:10.1184/r1/6721400.v1
fatcat:symltpk725f4xjuy2f3c5rpi54
OASIcs, Volume 47, WCET'15, Complete Volume
[article]
2015
This research was supported by the Chair for Operating Systems at RWTH Aachen University. ...
The authors like to thank Christian Ferdinand, Michael Schmidt and the anonymous reviewers for their valuable comments. Acknowledgments. ...
The input is the program to analyse, more precisely its binary code required for low-level analyses. Its source code can be useful for path analyses. ...
doi:10.4230/oasics.wcet.2015
fatcat:6qmphddzvrgs3c3547ukedj6am
Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development
unpublished
An important reason for this brokenness is that much of language design is implementation-driven. ...
The problem is only getting worse with programming languages proliferating and hardware becoming more complicated. ...
Integers do not have signedness, but concrete operations, including UDIV and SDIV, may treat integer operands as signed or unsigned. ...
fatcat:nx52fv2rhfhsbacfgkvpc2era4
On Efficiency and Accuracy of Data Flow Tracking Systems
2017
To this end, we begin with libdft, a DFT framework for COTS binaries running atop commodity OSes and we then introduce two major optimization approaches based on statically and dynamically analyzing program ...
We then apply classic compiler optimizations to eliminate redundant tracking logic and minimize interference with the target program. ...
This calls for an approach that would widen the scope of analysis by restoring higher-level program semantics (e.g., function or CFG) not limited to an instruction level analysis. ...
doi:10.7916/d8mg7p9d
fatcat:mof2c5wdwrbcpjwogdpuqpirbi
Micro Virtual Machines: A Solid Foundation for Managed Language Implementation
[article]
2018
Existing language development platforms have failed to provide the right level of abstraction, and forced implementers to reinvent low-level mechanisms in order to obtain performance. ...
This low-level mechanism underpins run-time feedback-directed optimisation, which is key to the efficient implementation of dynamic languages. ...
In fact, most operations (such as ADD and XOR) are sign-agnostic, and the only operations involving signedness are sign extensions and the conversion between integers and floating point numbers. ...
doi:10.25911/5d612129114fa
fatcat:tdr7733oqzfkhg26iyzmzrrzg4
« Previous
Showing results 1 — 15 out of 21 results