During my master thesis I implemented a software in c programming language. My thesis is in the Earth Science (Geodesy) field and this software is just GNSS data processing software.

Is a Call graph suitable for explaining different parts of my software within my thesis document?

  • 1
    It seems likely that the answer would depend on what subject/field/department you're in, so I suggest that you edit to add that information. Oct 3, 2018 at 12:39
  • The answer to your question is specific to you, which likely makes your question off topic for this site. Your advisor, your department, and your university may have specific preferences or policies for how describe the software. Oct 3, 2018 at 13:29
  • @Peter Taylor, sorry for that. I edited question, is it again off-topic? Oct 3, 2018 at 15:16
  • 1
    Whatever method you use to explain the algorithm, do also include a link to where your code can be downloaded from. Oct 3, 2018 at 20:38

2 Answers 2


I assume this question might be regarded as off-topic for this SE, but here are some thoughts:

First of all, ask your advisor. There might be local preferences which should be followed.

Take a look at the different UML diagrams. Some are helpful even if you are not using an object oriented language. I would check Activity Diagrams.

For some crucial parts of the software it might even be appropriate to include the code as is - but this should be done only if the specific C implementation is relevant. If it's more then a half page, I would think about moving it to an appendix.

Often, pseudocode is helpful because implementation details can be hidden.

  • thanks for your answer, BUT I want to allow interested reader knows details and be able to make this implementation by themselves. Does Call graph is suitable? Oct 3, 2018 at 15:19
  • It is impossible to tell without knowing your program. A call diagram can be helpful or not friending on the software structure. Imagine you would have to re-implement your code without prior knowledge: would it help or not?
    – OBu
    Oct 3, 2018 at 16:49

What might be more useful than a call graph is to present one or more of the important algorithms in pseudocode. I don't know much about Earth Science, but I would guess that your readers won't be interested in how you wrote the user interface, or how you parsed the inputs, or how you formatted the output. But if, for example, you came up with a refinement to make GPS more accurate, or used an interesting method for partitioning geographical regions, those are probably worth explaining in more detail, perhaps with pseudocode.

Also, if there is something you think might be useful to some readers but you don't want to disrupt the flow of your thesis, you could put it in an appendix.

Not the answer you're looking for? Browse other questions tagged .