## 4 Control Model
### Inferring Control Models from Program Internal Interactions Logs
proposed SMArTIC [49], which is an architecture for mining software specification with a trace filtering and clustering approach to enhance the accuracy, validity and scalability of specification miners before inferring the finite state machine. It filters traces by pruning erroneous traces and transforms them into regular expressions using Sequitur. Then, it clusters traces using k-medoid, to determine the number of clusters K, and the sequence alignment method in order to localise inaccuracies and reduce over-generalisation in learning. Next, it constructs PFSA using Sk-string for each cluster and finally merges the generated PFSA of all clusters. The method presented by [PERSON] [54] is complementary to the static software architecture reconstruction approaches, which provides insight into the actual concurrent behaviour of software by visualising the system execution log. The visualisation approach consists of two parts: the hierarchical architecture model (HIM) and process models created from these interactions. HIM contains a visualisation of the components of a system, their structure and interactions derived from software execution data. A summary of the introduced methods of inferring control model from program internal interaction logs is shown in Table 4. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Method** & **Specification** & **Remarks** \\ \hline [PERSON] et al. [46] & Discovering, monitoring and enhancing real-world business process by extracting event log activities inside or between services & - \\ \hline [PERSON] et al. [47] & A semi automatic, end-to-end approach to artifact-centric process models from a relational data source & Manual steps required. Tested on Order To Cash in SAP, Project Administration in Oracle \\ \hline [PERSON] and [PERSON] [48] & A dynamic approach to automatically infer a program’s temporal properties based on a set of property pattern templates & Difficulty in handling a large number of events, longer executions and more complex thread interactions. Tested on a proprietary Java program \\ \hline Steering [49] & A steering mechanism to refine the state merging strategy in FSA using the statistically significant temporal properties from traces & Tested on X11 Windowing Library, CVS Client, WebSphere Business Processes \\ \hline Synoptic [40] & Inferring the model as a directed graph using an additional invariant, then uses hybrid refinement and coarsening algorithm to search the models’ space and merge partitions & Identifying counter-examples. Providing interactive models helping in more complete understanding of their systems \\ \hline SpecForge [50] & Using four existing FSA-based specification miners to build FSAs and then extracting common constraints among the inferred FSAs and combining them back together into a single FSA & Tested on execution traces of 10 programs, 5 programs from DaCapo benchmark \\ \hline [PERSON] and [PERSON] [52] & Statistical analysing of the log to specify stopping criterion for enough number of traces & Reducing the computational cost substantially while maintaining reliable results \\ \hline [PERSON], et al. [53] & A meta path-based similarity measure in better clustering traces and a new dimension reduction method for high dimensional logs & Tested on BPIC’13, RECEIPT, BANK datasets \\ \hline [PERSON] [54] & Visualising concurrent behaviour of logs in two parts: hierarchical architecture model and process models & Tested on JabRef execution log \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Different approaches of inferring control models from program internal interactions logs.