I will also add to Socratis answer, surprisingly a lot of information about the project structure could be found in Virtualbox User Guide, which you can download by the link (current version 6.0.4):
https://download.virtualbox.org/virtual ... Manual.pdfI'm talking about the Chapter 10, Technical Background, and especially 10.2, Oracle VM VirtualBox Executables and Components.
You can find there list of the product components, and then find it in the source tree by simple text search, because Virtualbox source code at least structured very well. You also can find a lot about components and code structure from the Makefile.kmk, located in the project root directory.
You can read just Chapter 10, however, if you're going to contribute into Virtualbox OSE, or use it as a part of your opensource solution, you'd better read all the User Guide, it has tons of useful information about Virtualbox and virtualization technology itself.
If you're interested in contributing to the project, you can contact me personally, I have some experience in using it and our team has open positions for people with Virtualbox contributing experience.
Regards,
Yurii