  Newer technologies - programming languages, environments, libraries - change
very rapidly. However, various internal and external constraints often prevent
projects from quickly adopting to these changes. Customers may require specific
platform compatibility from a software vendor, for example. In this work, we
deal with such an issue in the context of the C++ programming language. Our
industrial partner is required to use SDKs that support only older C++ language
editions. They, however, would like to allow their developers to use the newest
language constructs in their code. To address this problem, we created a source
code transformation framework to automatically backport source code written
according to the C++11 standard to its functionally equivalent C++03 variant.
With our framework developers are free to exploit the latest language features,
while production code is still built by using a restricted set of available
language constructs. This paper reports on the technical details of the
transformation engine, and our experiences in applying it on two large
industrial code bases and four open-source systems. Our solution is freely
available and open-source.
