[1] Jones R W M, Kelly P H J. Backwards-compatible bounds checking for arrays and pointers in C programs[C]// Proceedings of the 3rd International Workshop on Automated and Algorithmic Debugging. 1997:13-26.
[2] Ruwase O, Lam M S. A practical dynamic buffer overflow detector[C]// Proceedings of the 11th Symposium on Network and Distributed System Security. 2004:159-169.
[3] Dhurjati D, Adve V. Backwards-compatible array bounds checking for C with very low overhead[C]// Proceedings of the 28th International Conference on Software Engineering. 2006:162-171.
[4] Nagarakatte S, Zhao Jianzhou, Martin M M K, et al. SoftBound: Highly compatible and complete spatial memory safety for C[C]// Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation. 2009:245-258.
[5] Nagarakatte S, Zhao Jianzhou, Martin M M K, et al. CETS: Compiler-enforced temporal safety for C[C]// Proceedings of the 2010 ACM International Symposium on Memory Management. 2010:31-40.
[6] Akritidis P, Costa M, Castro M, et al. Baggy bounds checking: An efficient and backwards-compatible defense against out-of-bounds errors[C]// Proceedings of the 18th USENIX Security Symposium. 2009:51-66.
[7] Yuan Jun, Johnson R. CAWDOR: Compiler assisted worm defense[C]// Proceedings of the 12th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM). 2012:54-63.
[8] Simpson M S, Barua R K. MemSafe: Ensuring the spatial and temporal memory safety of C at runtime[J]. Software: Practice and Experience, 2013,43(1):93-128.
[9] Kosmatov N, Petiot G, Signoles J. An optimized memory monitoring for runtime assertion checking of C programs[C]// Proceedings of the 4th International Conference on Runtime Verification. 2013:167-182.
[10] Jim T, Morrisett J G, Grossman D, et al. Cyclone: A safe dialect of C[C]// Proceedings of the General Track: 2002 USENIX Annual Technical Conference. 2002:275-288.
[11] Necula G C, Condit J, Harren M, et al. CCured: Type-safe retrofitting of legacy software[J]. ACM Transactions on Programming Languages and Systems, 2005,27(3):477-526.
[12] Xu Wei, DuVarney D C, Sekar R. An efficient and backwards-compatible transformation to ensure memory safety of C programs[C]// Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2004:117-126.
[13] Oiwa Y. Implementation of the memory-safe full ANSI-C compiler[C]// Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation. 2009:259-269.
[14] Cowan C, Pu C, Maier D, et al. StackGuard: Automatic adaptive detection and prevention of buffer-overflow attacks[C]// Proceedings of the 7th USENIX Security Symposium. 1998:63-78.
[15] Hasabnis N, Misra A, Sekar R. Light-weight bounds checking[C]// Proceedings of the 10th International Symposium on Code Generation and Optimization. 2012:135-144.
[16] Seward J, Nethercote N. Using Valgrind to detect undefined value errors with bit-precision[C]// Proceedings of the General Track: 2005 USENIX Annual Technical Conference. 2005:17-30.
[17] Bruening D, Zhao Qin. Practical memory checking with Dr. Memory[C]// Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization. 2011:213-223.
[18] Younan Y, Philippaerts P, Cavallaro L, et al. PAriCheck: An efficient pointer arithmetic checker for C programs[C]// Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security. 2010:145-156.
[19] Guthaus M R, Ringenberg J S, Ernst D, et al. MiBench: A free, commercially representative embedded benchmark suite[C]// Proceedings of the 2001 IEEE International Workshop on Workload Characterization. 2001:3-14. |