Skip to main content
Saved

Internship GenAI for Software Refactoring

Apply now

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 methodology
  • LLM prompting techniques
  • Clustering code snippets and similarity measurement
  • Development of tooling

You 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):

  • Git and GitHub
  • PL/SQL
  • JVM technology
  • Gen AI

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

Apply now
Your place of work Explore the area

Questions? Just ask
Joëlle Wursten

Apply now

ING’s vision is to unlock our people’s full potential through our inclusive culture where everyone has the opportunity to develop and have impact for our customers and society. To achieve this vision, our policies support diversity, equity, and inclusion. As an equal opportunity employer, we do not tolerate discrimination of any kind with regard to age, gender, gender identity, cultural background, experience, religion, race, ethnicity, disability, family responsibilities, sexual orientation, social origin, or any other status protected by applicable law. If you require any assistance or if we can accommodate you in any way when participating in our application and/or interview process, please email the recruiting contact listed for the relevant position. We will be happy to work with you to ensure a fair and accessible process. Read more about our commitment to diversity, inclusion and belonging here.

More for you

The latest jobs straight to your inbox

Interested In

By submitting your information, you acknowledge that you have read our privacy policy and consent to receive email communication from ING.