Pointer analysis: haven't we solved this problem yet?
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Reflection Support by Means of Template Metaprogramming
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
AutoMap and AutoLink: Tools for Communicating Complex and Dynamic Data-Structures Using MPI
CANPC '98 Proceedings of the Second International Workshop on Network-Based Parallel Computing: Communication, Architecture, and Applications
Developing Web Services for C and C++
IEEE Internet Computing
JQuery: finding your way through tangled code
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
MPI Pre-Processor: Generating MPI Derived Datatypes from C Datatypes Automatically
ICPPW '06 Proceedings of the 2006 International Conference Workshops on Parallel Processing
When to use features and aspects?: a case study
Proceedings of the 5th international conference on Generative programming and component engineering
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Input-independent, scalable and fast string matching on the Cray XMT
IPDPS '09 Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing
Graph-based verification of static program constraints
Proceedings of the 2010 ACM Symposium on Applied Computing
Aspect-oriented instrumentation with GCC
RV'10 Proceedings of the First international conference on Runtime verification
Hi-index | 0.00 |
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, developers have to manually change the source code to facilitate serialization code generation. Unfortunately, such changes hamper the benefits of code generation, and they are not localized. This paper 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 regarding 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.