Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Code generation is an important part of today’s software development. Using code generation can increase code quality, ease maintenance and shorten development time. It can be used for development of different parts of software systems like database access layers, communication protocols and their proxies/stubs, user interface and many others. Code generators may be ready to use products or developed in-house for project’s specific requirements. There are different tools and environments for the development of code generators.
As there are so many different possibilities for code generation solutions, it becomes hard for a developer or team to choose the best solution for their purpose, especially when there are few academic or industrial resources for comparing such solutions or providing the criteria for their comparison. Most of the academic works related to code generation are about specific software areas like parsers, signal processing and embedded systems, rather than general software development.
This report defines a framework for comparison of code generation solutions, which provides a categorized list of relevant criteria for such comparison. The list of criteria is gathered by reviewing a set of available code generation solutions and categorized based on software quality attributes, since the code generation solution is software itself. Finally some of the tools are chosen based on the requirements and applications of the company and they are compared side-by-side using the comparison framework.
2014. , 168 p.