Internships/ProjectIdeas/QOMVisualiser: Difference between revisions

From QEMU
(Created page with "=== QOM Visualiser === '''Summary:''' Visualise QEMU's object hierarchy QEMU implements its own object model by the name of [https://qemu.readthedocs.io/en/latest/devel/...")
 
No edit summary
 
Line 6: Line 6:
for the documentation to show the actual relationships in the code. While this can be done by manually grepping the code base it's a sub-optimal experience.
for the documentation to show the actual relationships in the code. While this can be done by manually grepping the code base it's a sub-optimal experience.
This project would be to write a tool that could generate diagrams showing the relationships between sets of objects which could be included in QEMU's documentation.
This project would be to write a tool that could generate diagrams showing the relationships between sets of objects which could be included in QEMU's documentation.
There are a couple of approaches, you could either take the parsing approach or maybe build something that works from the QEMU binary using introspection.
   
   
  '''Links:'''
  '''Links:'''

Latest revision as of 14:03, 16 March 2022

QOM Visualiser

Summary: Visualise QEMU's object hierarchy 

QEMU implements its own object model by the name of QOM. Currently it is hard for the documentation to show the actual relationships in the code. While this can be done by manually grepping the code base it's a sub-optimal experience. This project would be to write a tool that could generate diagrams showing the relationships between sets of objects which could be included in QEMU's documentation.

There are a couple of approaches, you could either take the parsing approach or maybe build something that works from the QEMU binary using introspection.

Links:
* https://qemu.readthedocs.io/en/latest/devel/qom.html

Details:
* Skill level: beginner to intermediate
* Language: Python, scripting, build systems
* Mentor: alex.bennee@linaro.org <stsquad on #qemu>
* Suggested by: Alex Bennée