Skip to content

Commit 976ee04

Browse files
committed
Add project on the IDD tool for compiler-research
1 parent 1c0a0db commit 976ee04

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
title: Interactive Differential Debugging - Intelligent Auto-Stepping and Tab-Completion
3+
layout: gsoc_proposal
4+
project: Cppyy
5+
year: 2025
6+
difficulty: medium
7+
duration: 350
8+
mentor_avail: June-October
9+
organization:
10+
- CompRes
11+
---
12+
13+
## Description
14+
15+
Differential debugging is a time-consuming task that is not well supported by existing tools. Existing state-of-the-art tools do not consider a baseline(working) version while debugging regressions in complex systems, often leading to manual efforts by developers to achieve an automatable task.
16+
17+
The differential debugging technique analyzes a regressed system and identifies the cause of unexpected behaviors by comparing it to a previous version of the same system. The idd tool inspects two versions of the executable – a baseline and a regressed version. The interactive debugging session runs both executables side-by-side, allowing the users to inspect and compare various internal states.
18+
19+
This project aims to implement intelligent stepping (debugging) and tab completions of commands. IDD should be able to execute until a stack frame or variable diverges between the two versions of the system, then drop to the debugger. This may be achieved by introducing new IDD-specific commands. IDD should be able to tab complete the underlying GDB/LLDB commands. The contributor is also expected to set up the necessary CI infrastructure to automate the testing process of IDD.
20+
21+
## Expected Results
22+
23+
* Enable stream capture
24+
* Enable IDD-specific commands to execute until diverging stack or variable value.
25+
* Enable tab completion of commands.
26+
* Set up CI infrastructure to automate testing IDD.
27+
* Present the work at the relevant meetings and conferences.
28+
29+
## Requirements
30+
31+
* Python & C/C++ programming
32+
* Familiarity debugging with GDB/LLDB
33+
34+
## Mentors
35+
* **[Vipul Cariappa](mailto:[email protected])**
36+
* [Martin Vasilev](mailto:[email protected])
37+
38+
## Links
39+
* [IDD Repository](https://github.com/compiler-research/idd)

0 commit comments

Comments
 (0)