Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

:recycle: Separate Simulation, Debugging and Diagnostics concerns further

Aperta
#6 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
devtools

Direzione di ricerca

Inizia tracciando le interfacce esistenti di debug.h e diagnostics.h, in particolare quali campi diagnostici risiedono in DDSimulationState e quali metodi sono presenti in DDDiagnostics. Mappa le responsabilità proposte di simulation.h e il modo in cui step-forward e getCurrentInstruction potrebbero supportare operazioni di livello superiore. Il lavoro è completato quando le tre interfacce e le relative implementazioni DD sono separate con un accoppiamento minimo a OpenQASM.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

c++ enhancement
What's the problem this feature will solve?

Currently, the debugging backend is separated into two interfaces:
debug.h and diagnostics.h. However, this separation is not perfect.

  • For the DD implementation in particular, many diagnostics concerns are still stored in the DDSimulationState and only the actual methods and functionalities are located in DDDiagnostics. These fields should be moved

Furthermore, a third simulation interface would make sense. Currently, if we want to change to a new simulation backend, a large number of different functions have to be re-implemented, even though they can be expressed through different functions. For instance, all the "step over", "step out", "run simulation" functions can be expressed using just the "step forward" method and "getCurrentInstruction". It would be nice to separate these so that changing the simulation backend only requires a few functions to be changed.

Describe the solution you'd like

Three interfaces:

  • debug.h: Contains debugging-related functions, like checking assertions, running up to specific points in the code, or getting the stack trace
  • simulation.h: Only contains low-level simulation features, like stepping forward, backward, etc.
  • diagnostics.h: Contains all functions related to analysing the program.

Their DD-based implementations should also be separated more clearly, and, if possibly, with only minimal coupling to the actual language used (such as OpenQASM)

Lingua principale
C++
Stelle
21
Fork
8
Merge medio
5h 17m
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di munich-quantum-toolkit/debugger

Tutte le issue di munich-quantum-toolkit/debugger

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.