Engineering Papers⌕ Search

DOE OSTI · 1089071

Exploiting Points-to Maps for De-/Serialization Code Generation

Abstract

Serialization code generators for C++ have restrictions on the implementation of dynamic arrays and void/function pointers. If the target program is not implemented with these restrictions, de- velopers have to manually change the source code to facilitate se- rialization code generation. Unfortunately, such changes hamper the benefits of code generation, and they are not localized. This pa- per presents the de-/serialization code generator Ser++ that does not restrict the implementation of these pointer types and, hence, eliminates the need to adapt the source code for serialization code generation. Ser++ can be considered an aspect weaver that i) traces the pointers, ii) identifies the statements in which properties regard- ing the serialization of pointer attributes can be extracted and, finally, iii) weaves the code to store these properties at runtime. It generates the de-/serialization functions in such a way that they serialize the pointer attributes according to the stored values of the properties. We have successfully used Ser++ to generate de- /serialization methods for a computer architecture and a power- flow simulator, without any modifications to the existing source code.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Ciraci, Selim, Villa, Oreste. 2013-03-18. Exploiting Points-to Maps for De-/Serialization Code Generation. https://doi.org/10.1145/2480362.2480686

Cite the original work for its findings. Save a collection to share your selection of sources.