Filters








4,617 Hits in 4.0 sec

Trace-Based Memory Aliasing Across Program Versions [chapter]

Murali Krishna Ramanathan, Suresh Jagannathan, Ananth Grama
2006 Lecture Notes in Computer Science  
In this paper, we address the general memory aliasing problem and present a probabilistic trace-based technique for correlating memory locations across execution traces, and associated variables in program  ...  An important problem encountered in testing and validation is memory aliasing, which involves correlation of variables across program versions.  ...  To validate our approach, we compare program versions based on traces with and without aliasing detection on a number of open-source programs.  ... 
doi:10.1007/11693017_29 fatcat:x65irarbbbchtdjvvpabxyufu4

Memory indexing

William N. Sumner, Xiangyu Zhang
2010 Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering - FSE '10  
Fine-grained program execution comparison examines different executions generated by different program versions, different inputs, or by perturbations.  ...  We introduce a canonical representation for memory locations and pointer values called memory indexing. Aligned memory locations across runs share the same index.  ...  These techniques are able to construct symbolic mapping of variables across program versions such as pointer x in version one is renamed to y in version two, through profiling.  ... 
doi:10.1145/1882291.1882324 dblp:conf/sigsoft/SumnerZ10 fatcat:ygcgct5ojnfltpknz7awie6qpu

Selective, accurate, and timely self-invalidation using last-touch prediction

An-Chow Lai, Babak Falsafi
2000 SIGARCH Computer Architecture News  
only achieves an average accuracy of 41% due to instruction reuse within and across computation; and (4) LTP enables selective, accurate, and timely self-invalidation in DSM, speeding up program execution  ...  The results indicate that: (1) our base case LTP design, maintaining trace signatures on a per-block basis, substantially improves prediction accuracy over previous self-invalidation schemes to an average  ...  Block sharing patterns often vary across program phases [8] .  ... 
doi:10.1145/342001.339669 fatcat:3tz52dfasba5bmofu5jjjxs7ji

Selective, accurate, and timely self-invalidation using last-touch prediction

An-Chow Lai, Babak Falsafi
2000 Proceedings of the 27th annual international symposium on Computer architecture - ISCA '00  
only achieves an average accuracy of 41% due to instruction reuse within and across computation; and (4) LTP enables selective, accurate, and timely self-invalidation in DSM, speeding up program execution  ...  The results indicate that: (1) our base case LTP design, maintaining trace signatures on a per-block basis, substantially improves prediction accuracy over previous self-invalidation schemes to an average  ...  aliasing across blocks; a complete trace for one block is a subtrace for another resulting in inaccurate predictions.  ... 
doi:10.1145/339647.339669 fatcat:hpwufbdwl5cpza6rzo32pavksu

Does the Bronze Garbage Collector Make Rust Easier to Use? A Controlled Experiment [article]

Michael Coblenz, Michelle Mazurek, Michael Hicks
2021 arXiv   pre-print
Rust is a general-purpose programming language that is both type- and memory-safe.  ...  We designed Bronze, an optional, library-based garbage collector for Rust.  ...  Thus GC-and manual-based memory management could coexist.  ... 
arXiv:2110.01098v1 fatcat:kfimuzla2vc4lnxzrry4plfc3m

MCAD: Beyond Basic-Block Throughput Estimation Through Differential, Instruction-Level Tracing [article]

Min-Yih Hsu, David Gens, Michael Franz
2022 arXiv   pre-print
MCAD provides accurate differential throughput estimates by emulating whole program execution using QEMU and forwarding traces to LLVM for instruction-level analysis.  ...  Unfortunately, how long a program may run - or if it may indeed stop at all - cannot be answered in the general case.  ...  We modified the Load Store Unit such that aliasing properties are now dictated by fine-grained memory accessing traces as provided by our QEMU plugin.  ... 
arXiv:2201.04804v1 fatcat:sdxb7vhdxrfbznh2da6b7lihuu

Per-Dereference Verification of Temporal Heap Safety via Adaptive Context-Sensitive Analysis [chapter]

Hua Yan, Shiping Chen, Yulei Sui, Yueqian Zhang, Changwei Zou, Jingling Xue
2019 Lecture Notes in Computer Science  
Unlike separation-logic-based approaches, our whole-program analysis approach is undertaken from the perspective of pointer analysis, allowing us to leverage the advantages of and advances in pointer analysis  ...  We address the problem of verifying the temporal safety of heap memory at each pointer dereference.  ...  across the program.  ... 
doi:10.1007/978-3-030-32304-2_4 fatcat:3d2ggvlg5fhu7bsdpbhmyqc6ju

Path-Based Reuse Distance Analysis [chapter]

Changpeng Fang, Steve Carr, Soner Önder, Zhenlin Wang
2006 Lecture Notes in Computer Science  
Here a path is defined as the program execution trace from the previous access of a memory location to the current access.  ...  Based on memory profiling, reuse distance analysis has shown much promise in predicting data locality for a program using inputs other than the profiled ones.  ...  Path-Based Reuse Distance Prediction Previous work has shown that reuse distances are likely to change across program inputs.  ... 
doi:10.1007/11688839_4 fatcat:p7ihzzhuijdinazoztpv7l6jmm

Safe Compilation for Hidden Deterministic Hardware Aliasing and Encrypted Computing [article]

Peter T. Breuer
2019 arXiv   pre-print
Hardware aliasing occurs when the same logical address sporadically accesses different physical memory locations and is a problem encountered by systems programmers (the opposite, software aliasing, when  ...  This paper shows how to compile so code works in the presence of hidden deterministic hardware aliasing.  ...  From the point of view of the program, hardware aliasing occurs.  ... 
arXiv:1901.10926v1 fatcat:pb4ugpwhwngadc2pfpbrjm36su

A compiler framework for speculative optimizations

Jin Lin, Tong Chen, Wei-Chung Hsu, Pen-Chung Yew, Roy Dz-Ching Ju, Tin-Fook Ngai, Sun Chan
2004 ACM Transactions on Architecture and Code Optimization (TACO)  
Speculative execution, such as control speculation or data speculation, is an effective way to improve program performance.  ...  We present experimental data on some SPEC2000 benchmark programs to demonstrate the usefulness of this framework.  ...  One reason is that the type-based alias analysis is enabled by default in the base version and is able to disambiguate many memory references.  ... 
doi:10.1145/1022969.1022970 fatcat:7lmwykb7zjfcrd4pfijkweto44

Handling task dependencies under strided and aliased references

Josep M. Perez, Rosa M. Badia, Jesus Labarta
2010 Proceedings of the 24th ACM International Conference on Supercomputing - ICS '10  
We present the abstractions, data structures and algorithms to calculate dependencies between tasks with strided and possibly different memory access patterns.  ...  We demonstrate how it can be applied to increase programming productivity.  ...  Another source of aliasing is the base address.  ... 
doi:10.1145/1810085.1810122 dblp:conf/ics/PerezBL10 fatcat:ugdu5sbeczgp3euxjwvuwebsgu

Targeted test input generation using symbolic-concrete backward execution

Peter Dinges, Gul Agha
2014 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering - ASE '14  
However, manually converting programs from lock-based synchronization to atomic sets requires reasoning about the program's concurrency structure, which can be a challenge even for small programs.  ...  The analysis is based on execution traces; assuming all traces reflect intended behavior, our analysis enables safe concurrency by preventing unobserved interleavings which may harbor latent Heisenbugs  ...  By tracking globally unique object identities (like memory addresses), the observation phase of the algorithm can recognize objects across different scopes.  ... 
doi:10.1145/2642937.2642951 dblp:conf/kbse/DingesA14 fatcat:nutrd5u6tfeszof2xjtjmp7oqu

Will you still compile me tomorrow? static cross-version compiler validation

Chris Hawblitzel, Shuvendu K. Lahiri, Kshama Pawar, Hammad Hashmi, Sedar Gokbulut, Lakshan Fernando, Dave Detlefs, Scott Wadsworth
2013 Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2013  
The validator checks for semantically equivalent assembly language output from various versions of the compiler, including versions across a seven-month time period, across two architectures (x86 and ARM  ...  The validator ran on over 500,000 methods across a large suite of test programs, finding 12 previously unknown correctness and performance bugs in the CLR compiler.  ...  For example, the two F(i) members are matched based on both their trace value and their common names F and i.  ... 
doi:10.1145/2491411.2491442 dblp:conf/sigsoft/HawblitzelLPHGFDW13 fatcat:h7jht57iknc4bgjwacbnk5yspy

Certifying Machine Code Safe from Hardware Aliasing: RISC is Not Necessarily Risky [chapter]

Peter T. Breuer, Jonathan P. Bowen
2014 Lecture Notes in Computer Science  
There are programming memes that ensure code is safe from hardware aliasing, but we want to certify that a given machine code is provably safe.  ...  RISC machine code is especially advantaged with respect to source code in this regard because it has only two instructions that access memory.  ...  A program induces a set of dataflow traces through registers. A dataflow trace is a unique path through registers and stack memory cells that traces movement of data.  ... 
doi:10.1007/978-3-319-05032-4_27 fatcat:halstcaqzbbelgadwsxmzjwt34

Black-Box Equivalence Checking Across Compiler Optimizations [chapter]

Manjeet Dahiya, Sorav Bansal
2017 Lecture Notes in Computer Science  
Equivalence checking is an important building block for program synthesis and verification.  ...  Previous work on equivalence checking has been done in the context of translation validation, where either a pass-by-pass based approach was employed or a set of handpicked optimizations were proven.  ...  The capabilities of a synthesis based optimizer are directly dependent on the capabilities of its underlying equivalence checker.  ... 
doi:10.1007/978-3-319-71237-6_7 fatcat:yopnpfhe4rezjogwnfq3giiyay
« Previous Showing results 1 — 15 out of 4,617 results