
Internship | Interactive Visualization of LLM-Driven Code Insights for Developer Context
About this position
Modern software engineers often need quick, accurate answers about complex codebases. Large Language Models (LLMs) combined with graph-based code representations can provide these answers by leveraging structural and semantic relationships in the code. However, these answers are typically delivered as plain text, making it hard for developers to validate, trust, and act upon them, especially in large, safety-critical systems like the Image Guided Therapy systems developed at Philips.
What will be your role?
This thesis addresses the challenge of making LLM augmented with graph-search answers explainable and actionable. Instead of visualizing entire scenarios, the goal is to visualize the evidence and reasoning behind an answer, whether the answer was triggered by a developer’s IDE interaction (via Language Server Protocol signals) or by an explicit query. For example, suppose the LLM suggests that a function is related to a specific component. In that case, the visualization should show the subgraph of code entities and relationships that support this claim, along with provenance (e.g., source files, traces, dependency links).
Philips IGT and TNO-ESI have a collaboration that resulted in the availability of agents connected to GitHub Copilot and supporting the software developers get insights into the code structure. When a developer asks Copilot a code question, Copilot calls the graph tool to ground its answer in the code graph and returns a response. Your assignment will be to design and implement visualizations for these answers in VS Code, ensuring they are explainable, actionable, and seamlessly integrated into the developer’s workflow. Specifically, you will:
1. Review the State of the Art
Explore explainable AI for developer tools, graph visualization techniques, and IDE integration patterns (WebView, Hovers, CodeLens, Peek).
2. Design the In-Editor UX
Define navigable views with hierarchical disclosure:
-Evidence Graph Panel: Interactive subgraph of code entities and relationships supporting the answer, with provenance and filtering.
-Inline Context: Hovers, CodeLens, and Peek views for quick validation inside the code editor.
-InChat Enhancements: Lightweight actions in Copilot Chat (e.g., “Show Evidence”, “Expand”, “Export”) that open the graph or export diagrams.
3.Integrate with MCP Outputs
Consume the MCP tool’s payload (answer + subgraph + provenance + confidence) and design a graphDBagnostic visualization layer.
4.Build the Prototype (VS Code Extension)
Implement the UI (React/D3.js in a webview), inline decorations, and export features (PlantUML, SysML v2). Optimize for large graphs using focus and context techniques.
5.Evaluate with Users
Conduct a user study with engineers to measure comprehension, trust, and efficiency compared to text-only answers.
6.Document and Disseminate
Write and defend your thesis; optionally publish in SE/HCI venues on explainable AI for IDEs.
What we expect from you
You enjoy bridging AI-powered insights with human-centered design to make complex systems understandable and actionable.
Preferred skills and interests:
- Programming: Proficiency in TypeScript/JavaScript (React, D3.js) or similar web technologies; experience with VS Code extension development is a strong plus.
- Graph Data: Understanding of graph structures, queries, and visualization techniques.
- Code Comprehension: Ability to read and reason about C++ in large, modular systems; familiarity with static/dynamic analysis is helpful.
- UX Research: Interest in designing and evaluating interactive tools; experience with usability studies and metrics is a bonus.
- Tooling Awareness: Curiosity about LLM integrations and protocols like MCP (you will consume outputs, not implement MCP).
- Development Environment: Comfortable working in Windows environments and handling large industrial codebases.
You are motivated by practical impact: your work will help engineers in safety-critical domains trust and act on AI-assisted answers by making them transparent, verifiable, and integrated into their workflow.
Working Environment
The thesis project will be carried out based on a paid TNO internship (see Internships and graduation assignments | TNO). You will be working as part of the project teams with experienced researchers from TNO-ESI. The project can be carried out in a hybrid manner with physical presence at TNO-ESI, located at the High-tech Campus in Eindhoven, up to two days per week.
What you'll get in return
You want an internship opportunity on the precursor of your career; an internship gives you an opportunity to take a good look at your prospective future employer. TNO goes a step further. It’s not just looking that interests us; you and your knowledge are essential to our innovation. That’s why we attach a great deal of value to your personal and professional development. You will, of course, be properly supervised during your work placement and be given the scope for you to get the best out of yourself. Furthermore, we provide:
- A highly professional, innovative internship environment, within a team of top experts.
- A suitable internship allowance (615 euro for wo-, hbo- and mbo-students, for a full-time internship).
- Possibility of eight hours of free leave per internship month (for a full-time internship).
- A free membership of Jong TNO, where you can meet other TNO professionals and join several activities, such as sports activities, (work-related) courses or the yearly ski-trip.
- Use of a laptop.
- An allowance for travel expenses in case you don’t receive an OV-card.
TNO as an employer
At TNO, we innovate for a healthier, safer and more sustainable life. And for a strong economy. Since 1932, we have been making knowledge and technology available for the common good. We find each other in wonder and ingenuity. We are driven to push boundaries. There is all the space and support for your talent and ambition. You work with people who will challenge you: who inspire you and want to learn from you. Our state-of-the-art facilities are there to realize your vision. What you do at TNO matters: impact makes the difference. Because with every innovation you contribute to tomorrow’s world. Read more about TNO as an employer.
At TNO we encourage an inclusive work environment, where you can be yourself. Whatever your story and whatever unique qualities you bring to the table. It is by combining our unique strengths and perspectives that we are able to develop innovations that make a real difference in society. Want to know more? Read what steps we are taking in the area of diversity, equity and inclusion.
The selection process
After the first CV selection, the application process will be conducted by the concerning department. TNO will provide a suitable internship agreement. If you have any questions about this vacancy, you can contact the contact person mentioned below.
Important to be aware of before applying:
- Before the start of the internship, the internship agreement from TNO needs to be signed. For students at a college or university based in the Netherlands, TNO uses the UNL-template (supplemented with a number of specific agreements from TNO). For students of foreign and MBO educational institutions, the TNO internship agreement applies. TNO does not sign any other internship agreements.
- Before the start of the internship, the educational institution will need to confirm in writing that:
- 1) you are enrolled at the educational institution during the internship, and;
- 2) the internship takes place as part of the programme of the study.
- The confirmation of educational institution takes place by signing the UNL template or forms prepared by TNO.
- Interns at TNO must be in possession of a Dutch residential address at the start of the internship. Performance of internship activities from abroad is not possible.
Has this job opening sparked your interest?
Then we’d like to hear from you! Please contact us for more information about the job or the selection process. To apply, please upload your CV and covering letter using the ‘apply now’ button.