CodeGen: improving software development through code generation - Jesus, Fábio Miguel Rodrigues de (2019)
Developing software applications requires time and experience that developers often lack. Additionally, development is more about the problem’s domain and not about the coding process itself, making the automatization of the process quite challenging and engaging, unlike other successfully automated processes. To further reduce the developer’s engagement in corporal developing standards such as following specific patterns or rules, CodeGen presents itself as a code generating tool that, while limited as a prototype, is intended to build and test applications in a set of languages and patterns. In order to do so, an exploratory research on the topics of code generation, architectural and design patterns, and programming languages is required, in order to evaluate what can be done with the current technology and knowledge available. Supported by this research, a prototype is developed as a proof of concept for a Visual Studio Extension that generates web applications in .NET MVC (Model-View-Controller). Since Visual Studio can’t compile Java and the user is not restricted to the choice of development environment, the current research also analyses the possibility of having more than one user interface.