Being able to represent large software in a graphical way with the ability to zoom in and out of 
components would help tremendously towards understanding of the software structure and its 
functionality. The proposed project is to learn a hierarchical compositional structure that will be 
used for such a graphical representation. The most likely candidate for such a hierarchical structure 
is state charts which have been used for software design for many years. 

There are no existing learning algorithms for learning state charts. There is, however, a number of 
algorithms for learning similar structures, such as finite automata, transducers, etc. The first part of 
the proposed project consists of constructing a new learning algorithm for learning state charts. The 
second part of the proposed project is using this algorithm to learn complex software in a hierarchical 
way, allowing the user to zoom in and out of components (composite states).
informatics-phd-projects-2022-23