A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2016; you can also visit the original URL.
The file type is application/pdf
.
Filters
Validating optimizations of concurrent C/C++ programs
2016
Proceedings of the 2016 International Symposium on Code Generation and Optimization - CGO 2016
We present a validator for checking the correctness of LLVM compiler optimizations on C11 programs as far as concurrency is concerned. ...
We use a custom C11 concurrent program generator to trigger multiple LLVM optimizations and evaluate the efficacy of our validator. ...
Acknowledgments We would like to thank Marko Doko, Ori Lahav, and the anonymous reviewers for their comments that improved the content of this paper. ...
doi:10.1145/2854038.2854051
dblp:conf/cgo/ChakrabortyV16
fatcat:fa36gt6bqngcrmxcpteqbfhwdu
Dynamically checking ownership policies in concurrent c/c++ programs
2010
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '10
Concurrent programming errors arise when threads share data incorrectly. ...
In this paper, we present a dynamic analysis for checking ownership policies in concurrent C and C++ programs despite memory errors. ...
Acknowledgments We thank Peter Sewell, Matthew Parkinson, and Tim Harris, who contributed to the development of this work, and Eric Koskinen, Avik Chaudhuri, Nikhil Swamy, Iulian Neamtiu, Polyvios Pratikakis ...
doi:10.1145/1706299.1706351
dblp:conf/popl/MartinHCAC10
fatcat:75ufsw4bfrb73lejpuq4xrreua
Dynamically checking ownership policies in concurrent c/c++ programs
2010
SIGPLAN notices
Concurrent programming errors arise when threads share data incorrectly. ...
In this paper, we present a dynamic analysis for checking ownership policies in concurrent C and C++ programs despite memory errors. ...
Acknowledgments We thank Peter Sewell, Matthew Parkinson, and Tim Harris, who contributed to the development of this work, and Eric Koskinen, Avik Chaudhuri, Nikhil Swamy, Iulian Neamtiu, Polyvios Pratikakis ...
doi:10.1145/1707801.1706351
fatcat:kbyjcsglljembk4kitw26eiyyi
High-fidelity C/C++ code transformation
2007
Science of Computer Programming
It has been tested on millions of lines of commercial C/C++ code and has been shown to meet the stringent criteria laid out by Lucent's own software developers. ...
. (2) Correct automated handling of C preprocessing and the presentation of a semantically correct view of the program during transformation. ...
For example, the following excerpt is perfectly valid C code. Although this form of program is valid, in our experience it is very rarely seen. ...
doi:10.1016/j.scico.2006.04.010
fatcat:jluepjlin5ev5pblfs2yaq5qry
Design and implementation of transactional constructs for C/C++
2008
Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA '08
We present experimental results on 8 cores (two quad-core CPUs) running a set of 20 non-trivial parallel programs. ...
The compiler automatically instruments the program for transactional execution and optimizes TM overheads. ...
) or to perform additional validations (optimistic read concurrency). ...
doi:10.1145/1449764.1449780
dblp:conf/oopsla/NiWABBCGKNOPSTT08
fatcat:cnv2vx5ih5cmtj6s2x4cjzywz4
Hardware synthesis from C/C++
1999
Proceedings of the conference on Design, automation and test in Europe - DATE '99
In this paper, we will present some of the key ingredients of a C/C++ synthesis system and elaborate on the challenges of hardware synthesis from C/C++. ...
Also, a synthesizable subset of the language needs to be defined, together with synthesis semantics for programming language constructs. ...
Concurrency: Hardware is inherently parallel, while C/C++ programs are inherently sequential. Therefore, we introduce the notion of processes, which are programs that execute concurrently. ...
doi:10.1145/307418.307529
fatcat:q62sbxrk6vcvznls5m4da2ckcm
Efficient Data Race Detection for C/C++ Programs Using Dynamic Granularity
2014
2014 IEEE 28th International Parallel and Distributed Processing Symposium
On the other hand, embedded applications, often written in C/C++, necessitate the use of fine-grained detection approaches that lead to significant execution overhead. ...
This is indeed the case for the applications developed in object-oriented programming language where objects can be used as detection units. ...
While it may become feasible to detect races in C/C++ programs, the overheads using the FastTrack with fine granularity is still high for C/C++ programs, as illustrated in our experiment results. ...
doi:10.1109/ipdps.2014.76
dblp:conf/ipps/SongL14
fatcat:sjphn3xhvnefzkj4ir2a4brybu
Design and implementation of transactional constructs for C/C++
2008
SIGPLAN notices
We present experimental results on 8 cores (two quad-core CPUs) running a set of 20 non-trivial parallel programs. ...
The compiler automatically instruments the program for transactional execution and optimizes TM overheads. ...
) or to perform additional validations (optimistic read concurrency). ...
doi:10.1145/1449955.1449780
fatcat:tc3nls2iwzdyzcb6pscz6ktrui
Operational Aspects of C/C++ Concurrency
[article]
2016
arXiv
pre-print
In this work, we present a family of operational semantics that gradually approximates the realistic program behaviors in the C/C++11 memory model. ...
the order in which the results of certain operations can be observed by concurrently running threads. ...
The most prominent example of a relaxed memory model is the C11 model, introduced by the C/C++ 2011 standards [2, 3] and describing the behavior of concurrent C/C++ programs. ...
arXiv:1606.01400v2
fatcat:4mtabv4qdvcchia47tldiqzh5m
High-Fidelity C/C++ Code Transformation
2005
Electronical Notes in Theoretical Computer Science
It has been tested on millions of lines of commercial C/C++ code and has been shown to meet the stringent criteria laid out by Lucent's own software developers. ...
. (2) Correct automated handling of C preprocessing and the presentation of a semantically correct view of the program during transformation. ...
For example, the following excerpt is perfectly valid C code. Although this form of program is valid, in our experience it is very rarely seen. ...
doi:10.1016/j.entcs.2005.04.037
fatcat:bjpcpigzdzekzdn7uaq3i67xr4
MESH: A Memory-Efficient Safe Heap for C/C++
[article]
2021
arXiv
pre-print
To address this problem, we propose MESH, a highly memory-efficient safe heap for C/C++. ...
Various mitigations have been proposed to alleviate the problem, mainly in the form of language dialects, static program analysis, and code or binary instrumentation. ...
the lifetime of the program. ...
arXiv:2108.08683v1
fatcat:yhg7zl2ymff4jafi5mhbxbyhdy
Laws of Programming
[chapter]
1992
Programming and Mathematical Method
The language used in this paper is simpler than Occam, in that it omits communication and concurrency. Laws that are not valid in the more complex language will be noted. ...
Another source of potential difficulty is that specifications fail to obey some of the laws that are valid for programs. ...
doi:10.1007/978-3-642-77572-7_7
fatcat:n2fijmuxybgxpjdkvyjztgw3ue
Understanding integer overflow in C/C++
2012
2012 34th International Conference on Software Engineering (ICSE)
Integer overflow bugs in C and C++ programs are difficult to track down and may lead to fatal errors or exploitable vulnerabilities. ...
Applications executing undefined operations can be, and have been, broken by improvements in compiler optimizations. ...
Acknowledgments We thank Tennessee Carmel-Veilleux, Danny Dig, Ganesh Gopalakrishnan, Alex Groce, Mary Hall, Derek Jones, Swarup Sahoo, and the ICSE 2012 reviewers for their insightful comments on drafts of ...
doi:10.1109/icse.2012.6227142
dblp:conf/icse/DietzLRA12
fatcat:vhb3omehsjfsha76ive7soqdam
CUP: Comprehensive User-Space Protection for C/C++
[article]
2017
arXiv
pre-print
We present Comprehensive User-Space Protection for C/C++, CUP, an LLVM sanitizer that provides complete spatial and probabilistic temporal memory safety for C/C++ program on 64-bit architectures (with ...
Current memory sanitizers do no provide comprehensive coverage of a program's data. ...
Allowing ID reuse thus allows us to protect long running programs, as our limit is on concurrent pointers, not total allocations supported. The security impact of ID reuse is evaluated in § 6. ...
arXiv:1704.05004v1
fatcat:tfz52iiozjatbggdb3kjay5p4i
Mesh: Compacting Memory Management for C/C++ Applications
[article]
2019
arXiv
pre-print
Programs written in C/C++ can suffer from serious memory fragmentation, leading to low utilization of memory, degraded performance, and application failure due to memory exhaustion. ...
Mesh generally matches the runtime performance of state-of-the-art memory allocators while reducing memory consumption; in particular, it reduces the memory of consumption of Firefox by 16% and Redis by ...
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation. ...
arXiv:1902.04738v2
fatcat:rdcmgqru65eern3y6sn6utf4ci
« Previous
Showing results 1 — 15 out of 26,208 results