C++ strategies and tactics
Localized ownership: managing dynamic objects in C++
Pattern languages of program design 2
C++ Templates
Incorporating fault tolerance tactics in software architecture patterns
Proceedings of the 2008 RISE/EFTS Joint International Workshop on Software Engineering for Resilient Systems
Generative Version of the FastFlow Multicore Library
Electronic Notes in Theoretical Computer Science (ENTCS)
Multicore C++ Standard Template Library in a Generative Way
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Changing the approach to dynamic memory allocation in a large legacy application is challenging. In order to improve the robustness of memory allocation, we fundamentally changed it. We replaced standard heap allocation with class-specific heaps. We were able to do it with almost no changes to the existing class code by overriding the C++ new() and delete() operators, and using templates creatively to insert the changes into class hierarchies.The results have been very positive. Misuse of dynamic memory has been detected and errors caused by memory misuse have been avoided. Performance of the new memory management code has been as good or better as the previous code. Additional capabilities such as audits have been added to further increase the robustness of dynamic memory usage.