Examples of computational tools/theories for graph theorists? It's been several months since I learned about Razborov's theory behind flag algebras. I realized that I enjoyed learning the theory in all of its abstraction, but equally enjoyed the part where I got to write code and produce some concrete results and numbers.
What other theories are out there that go hand-in-hand with computation and writing code (preferably in the area of graph theory)?
I am not looking for things like common algorithms on graphs (BFS, graph traversal, min/max cut, etc.), and I am already aware of plenty of mathematical software packages that support writing code for abstract mathematics (Sage, Magma, Mathematica, etc.).
Instead, I am interested in active research areas where a mathematical theory may be realized in the form of code or software which produces results in graph theory. For example, computational software for flag algebras has already yielded results in Ramsey theory, hypergraph Turan densities, permutations, etc.
 A: I tried to assemble a list for the areas in which I have worked or am currently working in. This is by far not a complete list and it is very subjective to my research areas. There is of course a lot more.
I hope this list covers some ideas your are seeking for.
Extremal Graph Theory
The first one, you named it yourself, is the nice concept called Flag Algebras by Razborov. It is specifically designed for solving Turán-type problems in extremal combinatorics.
Checkout the tool flagmatic. You most likely already know it. Flagmatic is used in extremal graph theoretical research and yielded to new results. Checkout the following paper (starting with a nice interim report by Razborov himself. He is specifically mentioning flagmatic.)

*

*Flag Algebras: an Interim Report by Alexander A. Razborov,

*On applications of Razborov's flag algebra calculus to extremal 3-graph theory by Falgas-Ravry and Vaughan,

*On the Caccetta-Häggkvist Conjecture with a Forbidden Transitive Tournament by Grzesik in the Electronic Journal of Combinatorics,

*Minimizing the number of 5-cycles in graphs with given edge-density by Bennett et. al,

*There are many many more...

Notice, and you might also already know, that the Cauchy-Schwarz calculus is not complete (which might or might not be very surprising).
Checkout this important result

*

*Undecidability of Linear Inequalities in Graph Homomorphism Densities by Hatami and Norin in Journal of the American Mathematical Society.

Graph Generation
The topic of graph generation is strongly connected to the topic of graph recognition. However, I have decided to split these topics into two.
You said that you are "[...] interested in active research areas where a mathematical theory may be realized in the form of code or software which produces results in graph theory".
Now, this is very important. Graph generation is a research area by its own, hence this is not a direct answer to your question, but the generation of graphs, and most importantly the capability of generating specific classes of graphs, is one of the most useful things in providing new results in structural graph theory.
There are several papers around, but the most known are the ones whose results are implemented in the tool plantri.
You might check out the follwing:

*

*Generation of simple quadrangulations of the sphere by Brinkmann et. al,

*Fast generation of planar graphs by Brinkmann and McKay,

*Generation of Cubic Graphs and Snarks with Large Girth by Brinkmann and Goedgebeur.

*There are many many more.

Graph Recognition
The graph recognition problem deals with the problem of telling whether a given graph belongs to a certain graph class. This is by far not an easy task. For example, recognizing $1$-planar graphs is proven to be $\mathcal{NP}$-hard. Again, it is of course an research area on its own, but there are several examples on how developing a recognition algorithm lead to new insights in graph theory. To name one: Chudnovsky et. al implemented an algorithm for detecting odd-holes in a given graph, which could be very useful for solving open problems in chromatic graph theory.
Here are some more references on this exciting topic:

*

*Outer 1-Planar Graphs by Auer et. al,

*Recognizing Optimal 1-Planar Graphs in Linear Time by Brandenburg,

*Detecting a Long Odd Hole by Chudnovsky et. al.

Graph Isomorphism
Graph generation is strongly related to the Graph Isomorphism Problem, which is an really exciting research topic for several reasons.
It is one of the most researched problems in theoretical computer science with great theoretical interest, since its complexity still remains unkown. In fact, the problem is even discussed as a candidate for modern quantum computing. It is believed that the GI is neither $\mathcal{NP}$-complete nor in $\mathcal{P}$, which would make it a candidate for a $\mathcal{NP}$-intermediate, according to Ladner’s theorem under the assumption that $\mathcal{NP}  \neq \mathcal{P}$.
However, it is very important for graph generation, if not the most important, because we want to generate graphs of a certain graph class without generating isomorphic copies. We need isomorphism rejection of some sort.
This topic is very well explored, and it is very challenging to do research here. The most famous algorithm is given by McKay and Piperno. It is based on canonical labeling and automorphism group computation. It is implemented in the tool Nauty and Traces.
Check out the following paper:

*

*Practical graph isomorphism, II by McKay and Piperno.

Automated Conjecture-Making
Now, this is a really exciting topic and has led to numerous results in mathematics and especially in graph theory.
In addition to definitions and axiomatic systems, the process of discovering structural relationships or patterns in some kind of objects plays a fundamental role in mathematical research. A new conceivable relation is then formalized in a statement, which is initially open to formal proofs. These unproven statements are called conjectures.
Even though conjectures have many shapes, they often describe a relation between different invariants of the object of interest, whereby an objects invariant is a property which remains unchanged under certain classes of transformations. Often, the conjectures are of the form $I \leq J$, $I \leq J+K$ and $I+J \leq K+L $ with $I,J,K$ and $L$ being either an invariant of the mathematical object or a constant value.
Due to the increasing complexity in modern mathematical research, the establishment of relations between these invariants in the above forms is becoming increasingly important. Therefore, in addition to pure scientific interest, researchers try to automate the process of conjecture-making using methods of computer science. Then, we also speak of computerized mathematical discovery.
There is a famous tool by Larson and van Cleemput called "conjecturing", which generates conjectures (of the form given above) for a set of mathematical objects. There are many new results in matrix theory, number theory and graph theory, which used automated conjecture-making.
In order to give some references:

*

*A Survey of Research in Automated Mathematical Conjecture-Making by Larson,

*Automated conjecturing I: Fatjlowicz's Dalmatian heuristic revisited by Larson and Van Cleemput,

*A survey of automated conjectures in spectral graph theory by Aouchiche and Hansen (they present some more tools for automated conjecture-making, namely "GRAPH", "Graffiti", "Ingrid", "newGRAPH", and "AutoGraphiX".

There are many more.
To give a last nice example of how automated conjecture-making discovered new bounds for the domination number of Benzenoids in chemical graph theory, you should check out the following paper:

*

*Automated Conjecturing VI: Domination Number of Benzenoids by Hutchinson et. al.

If I remember correctly, this is a publication of a PhD-Thesis which goes into more detail.
