Isaac Griffith

Learn More
—Measurements are subject to random and systematic errors, yet almost no study in software engineering makes significant efforts in reporting these errors. Whilst established statistical techniques are well suited for the analysis of random error, such techniques are not valid in the presence of systematic errors. We propose a departure from de-facto(More)
Manual refactoring is a complicated process requiring intimate knowledge of the software design and underlying intended behavior of a system. This knowledge is not always available. Fully automated refactoring, using a meta-heuristic based search that is dependent on software quality metrics and code smells as a guide, eliminates the need for the developer(More)
—Technical debt has recently become a major concern in the software industry. While it has been shown that technical debt has an adverse effect on the quality of a software system, there has been little work to explore this relationship. Further, with the growing number of approaches to estimate the technical debt principal of a software system, there is a(More)
—Network Exchange Objects (NEO) is a new software framework designed to facilitate development of complex natural or built distributed system models, where the system model is represented as a graph, through which currencies (e.g., coding information) flux. This paper introduces " system-level hypothesis (SLH) testing " as a form of computational thinking(More)
Design patterns are well known solutions to common problems and are extensively utilized in software development. Yet, little empirical work has been conducted to evaluate or validate the consequences that poor design decisions have on pattern realizations. This paper describes a research program to further the understanding of design pattern evolution.(More)
Technical debt has been the subject of numerous studies over the last few years. To date, most of the research has concentrated on management (detection, quantification, and decision making) approaches ?most performed at code and implementation levels through various static analysis tools. However, if practitioners are to adopt model driven techniques, then(More)
Technical debt is a well understood yet understudied phenomena. A current issue is the verification and validation of proposed methods for technical debt management in the context of agile development. In practice, such evaluations are either too costly or too time consuming to be conducted using traditional empirical methods. In this paper, we describe a(More)
  • 1