Context and Challenge
Software refactoring, the practice of improving the internal structure of a software system, is essential for the sustainable maintenance of fast-paced and long-lived software systems across all sectors. Ignoring the internal structure can lead to high costs. In 2018, the Consortium for Information and Software Quality estimated that the USA spent around $2.84 trillion due to poor software quality, with approximately 18% ($510 billion) attributed to technical debt and 21% to challenges in legacy systems. These issues often stem from poor technical decisions made during development, hindering future software evolution.
At ING, refactoring is particularly challenging. We maintain a self-built application with over 20 years of history and 4 million lines of code, combining Java and PL/SQL. This tool is crucial for collecting and distributing data, providing detailed insights into our outstanding risk on our Lending book. We aim to retain the same logic while improving performance by at least five times, ensuring code quality and security.
We are exploring how GenAI technologies, such as GitHub Copilot, can assist in the manual refactoring process, including code understanding, code review, and code generation. Preliminary experimentation has led to the development of a methodology that requires further refinement. Several areas for future research have also been identified, forming the foundation of this internship.
Expected project outcome
During this internship, you will refine and improve the existing methodology and tooling. Areas for improvement include:
General methodologyLLM prompting techniquesClustering code snippets and similarity measurementDevelopment of toolingYou will also apply the scientific method to verify the validity of the developed approach. The internship duration is 6 to 9 months.
Technologies involved
The project may involve the following technologies (but is not limited to):
Contact details
ING Groep NL (ING) is a global financial institution with a strong European base offering retail- and wholesale banking services. Our customers are at the heart of what we do. The future of banking will not be banking as we know it. Technology reduced barriers to enter the financial services markets, which has resulted in a wave of newcomers. Ecosystems are developing, allowing users to access social media, online purchases, services and payments all in one app. We believe open platforms and digital ecosystems will define the customer experience of the future, also for financial services. We are in the midst of the digital transformation reinventing ourselves.
Contact person: Yaping Luo <yaping.luo@ing.com>