Research Areas




Decay, Grime and Technical Debt of structural and behavioral characteristics of Design Patterns::Isaac Griffith, Derek Reimanis, Melissa Dale
We are working towards a more complete understanding of the structural properties and vulnerabilities associated with design patterns. These vulnerabilities are manifested as design pattern grime and design pattern rot. Through a more complete understanding we intend to identify methods by which we can assign a technical debt value to the identified vulnerabilities in a design pattern instantiation. Along with technical debt measurement associated with design pattern issues we are also interested in the use of refactoring as a means to reduce or remove these debts, the development of simulation techniques to artificially insert grime and rot into pattern instances, and the development of a taxonomy that addresses the types of debts associated with design patterns. Along this path we will be developing several tools which will help automate the data collection process as well as form a base set of empirical software engineering tools for researchers.

New research in early exploratory phases is also trying to identify how structural changes may affect the behavior of design pattern instances in their setting of use. Tracking the evolution of behavioral changes poses new challenges to develop metrics and taxonomies and models that accurately capture this phenomena.
The quantification of uncertainty and estimation of model parameters::Isaac Griffith, Renee Cross
NEO (Network Exchange Objects) is a software framework that is being developed in collaboration with the Land Resources and Environmental Sciences department at MSU. It allows for the simulation of multiple currency fluxes in any domain. Our focus however is to develop simulations of complex ecological systems. Current work involves examining the requirements needed to run simulations of models and the ability to incorporate analysis of uncertainty in regards to model parameters and model structure. This work also involves developing a framework to manage and run multiple simulations for (possibly different) models as well as a for model uncertainty analysis. One valuable tool in the analysis of uncertainty includes the Adaptive-Metropolis Markov Chain Monte Carlo Bayesian inference utility. We are examining using this technique with NEO models to explore its use with different models to assist in gathering requirements to design the framework.  The goal is to have a well-designed system which is extensible and can be used by modelers to perform analyses of uncertainty or sensitivity, and to perform multi-model comparisons.
Visualization and Simulation of (smart) currencies::Rachael Luhr
This project focuses on using digital theater software to visualize flux networks. Flux networks are any type of network (or matrix) that has currencies flowing through it. Examples of currencies are: water, money, data, etc. The current focus is on visualizing the flow of water particles through the Nyack Floodplain of the Middle Fork of the Flathead River. We are investigating ways to extend this project to be able to visualize any type of flux network. The purpose of using digital theater software (produced by Evans & Sutherland) is to take advantage of the outreach opportunities that it presents. One of these opportunities is to highlight this research at the Taylor Planetarium at the Museum of the Rockies.

New research will focus on understanding algorithms to create smart agents that command their own behavior. These smart agents will have decision making abilities that determine how they flow in a mesh.
Design Pattern recognition using Spectral Clustering Techniques::Ryan Nix
This project focuses on the problem of automatic identification of design patterns found in UML class diagrams. Class diagrams can be considered graphical representations of programs where classes are represented by nodes and relationships by edges. We follow a machine learning approach to identify potential design patterns based on meta-designs that describe said patterns. The technique is a significant departure from previous methods in that it uses spectral clustering methods to identify patterns.