Thema: Enhancing Software Development with Structure-Smart Search in IDEs

Thema: Enhancing Software Development with Structure-Smart Search in IDEs

Grunddaten

Titel Enhancing Software Development with Structure-Smart Search in IDEs
Beschreibung
Goals:
- Understand the structure and functionality of IDEs such as IntelliJ or VSCode
- Design and implement a smart search feature that parses the structure of the current file continuously into a searchable data structure
- Enable search functionality that goes beyond string matching, incorporating the awareness of the type of element being searched (variables, classes, functions, etc.)
- Integrate this smart search feature with standard keyboard usage (e.g., using a specific shortcut for smart search)
- Develop an interface that allows the smart search feature to be used with a hands-free coding framework like Talon

Description:
Code navigation is an integral part of software development, and the ability to quickly and efficiently search for specific elements in a codebase greatly enhances productivity. This work aims to implement a "structure-smart search" feature in a popular integrated development environment (IDE) such as IntelliJ or VSCode. This feature will move beyond traditional string matching search and employ a process that continuously parses the structure of the current file into a data structure aware of the kind of elements being searched, like variables, classes, functions, etc.

For conventional keyboard users, this smart search will be accessible through a keyboard shortcut and will suggest appropriate element names as the user types. Furthermore, the search interface could include flags or checkmarks to specify the type of element they're looking for, leading to a more focused and efficient search experience.

The second layer of this project involves integrating this structure-smart search with a hands-free coding framework like Talon. The smart search will need to be exposed to the framework through Python functions and a compatible grammar that interfaces with the ongoing process running in the IDE. This integration aims to improve the accessibility and efficiency of code navigation for hands-free developers without compromising the user experience for conventional developers.

The goal is to create a tool that enhances software development productivity for all developers while also offering novel ways to improve existing hands-free coding techniques. The outcomes of this work can be evaluated based on usability studies and improvements in search efficiency over traditional string-matching techniques.
Heimateinrichtung Department für Informatik
Art der Arbeit praktisch / anwendungsbezogen
Abschlussarbeitstyp Bachelor oder Master
Autor Prof. Dr. Wolfram Wingerath
Status verfügbar
Aufgabenstellung
Voraussetzung
depends on the specificities of the chosen research question
Erstellt 02.08.2023

Studiendaten

Abteilungen
  • Informationssysteme - Data Science
Studiengänge
  • Fach-Bachelor Wirtschaftsinformatik
  • Master Informatik
  • Master Applied Economics and Data Science
  • Zwei-Fächer-Bachelor Informatik
  • Fach-Bachelor Informatik
  • Master Wirtschaftsinformatik
Zugeordnete Veranstaltungen
Ansprechpartner