Theses and Dissertations at Montana State University (MSU)
Permanent URI for this collectionhttps://scholarworks.montana.edu/handle/1/733
Browse
2 results
Search Results
Item Exploratory study on the effectiveness of type-level complexity metrics(Montana State University - Bozeman, College of Engineering, 2018) Smith, Killian; Chairperson, Graduate Committee: Clemente IzurietaThe research presented in this thesis analyzes the feasibility of using information collected at the type level of object oriented software systems as a metric for software complexity, using the number of recorded faults as the response variable. In other words, we ask the question: Do popular industrial language type systems encode enough of the model logic to provide useful information about software quality? A longitudinal case study was performed on five open source Java projects of varying sizes and domains to obtain empirical evidence supporting the proposed type level metrics. It is shown that the type level metrics Unique Morphisms and Logic per Line of Code are more strongly correlated to the number of reported faults than the popular metrics Cyclomatic Complexity and Instability, and performed comparably to Afferent Coupling, Control per Line of Code, and Depth of Inheritance Tree. However, the type level metrics did not perform as well as Efferent Coupling. In addition to looking at metrics at single points in time, successive changes in metrics between software versions was analyzed. There was insufficient evidence to suggest that the metrics reviewed in this case study provided predictive capabilities in regards to the number of faults in the system. This work is an exploratory study; reducing the threats to external validity requires further research on a wider variety of domains and languages.Item Animating the conversion of nondeterministic finite state automata to deterministic finite state automata(Montana State University - Bozeman, College of Engineering, 2007) Merryman, William Patrick; Chairperson, Graduate Committee: Rockford RossMany students may find the conversion of non-deterministic finite state automata into deterministic finite state automata to be difficult. Since standard computers are deterministic by nature, it is beneficial to understand how to convert nondeterministic finite state automata into equivalent deterministic versions. This conversion process is often inadequately presented in traditional textbooks, though, as static presentations rarely capture the dynamics of the process. This thesis provides a Java applet that will help students better understand the conversion, and may help teachers to better present the conversion. This applet was designed to be beneficial to student learning; therefore, many different learning modes were included.