Clemente Izurieta

Clemente Izurieta
Montana State University | MSU · Department of Computer Science

About

89
Publications
27,750
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,772
Citations

Publications

Publications (89)
Article
Full-text available
Comprehensive measures of quality are a research imperative, yet the development of software quality models is a wicked problem. Definitive solutions do not exist and quality is subjective at its most abstract. Definitional measures of quality are contingent on a domain, and even within a domain, the choice of representative characteristics to deco...
Article
Full-text available
Context. Technical debt (TD) monitoring allows software professionals to track the evolution of debt incurred in their projects. The technical literature has listed several practices used in the software industry to monitor indebtedness. However, there is limited evidence on the use and on the reasons to avoid using these practices. Aims. This work...
Article
Context . Technical debt (TD) prevention allows software practitioners to apply practices to avoid potential TD items in their projects. Aims. To uncover and prioritize, from the point of view of software practitioners, the practices that could be used to avoid TD items, the relations between these practices and the causes of TD, and the practice a...
Chapter
Context. Technical debt management (TDM) comprises activities such as prevention, monitoring, and repayment. Current technical literature has identified, for each of these TDM activities, several applicable practices as well as practice avoidance reasons (PARs). This body of knowledge (practices and PARs) is available in the literature only in wide...
Article
Design patterns represent a means of communicating reusable solutions to common problems, provided they are implemented and maintained correctly. However, many design pattern instances erode as they age, sacrificing qualities they once provided. Identifying such instances of pattern decay is valuable because it allows for proactive attempts to exte...
Conference Paper
Full-text available
Metamorphic testing is a technique that uses metamorphic relations (i.e., necessary properties of the software under test), to construct new test cases (i.e., follow-up test cases), from existing test cases (i.e., source test cases). Metamorphic testing allows for the verification of testing results without the need of test oracles (a mechanism to...
Article
Full-text available
Context: The presence of technical debt (TD) brings risks to software projects. Managers must continuously find a cost-benefit balance between the benefits of incurring in TD and the costs of its presence in a software project. Much attention has been given to TD related to coding issues, but other types of debt can also have impactful consequences...
Article
Context Technical debt (TD) payment refers to the activity of expending maintenance effort and resources to make up for the effects of previous technical compromises. Aims To investigate if software practitioners have paid debt items off in their projects, the practices that have been used for paying off debt items, and the issues that hamper the...
Article
Instrument fidelity in message testing research hinges upon how precisely messages operationalize treatment conditions. However, numerous message testing studies have unmitigated threats to validity and reliability because no established procedures exist to guide construction of message treatments. Their construction typically occurs in a black box...
Article
Full-text available
In the context of software engineering, “value” and “waste” can mean different things to different stakeholders. While traditionally value and waste have been considered from a business or economic point of view, there has been a trend in recent years towards a broader perspective that also includes wider human and societal values. This Special Iss...
Conference Paper
Full-text available
Context: It is common for a software project to incur technical debt (TD) during its development. It can impact several artifacts produced throughout the software development process. Therefore, it is necessary to carry out management actions to find a balance between the benefits of incurring it and the effects of its presence. However, so far, mu...
Article
This article presents technical debt (TD) impediments, decision factors, enabling practices, and actions diagrams for TD management in agile software projects. By analyzing diagrams, professionals can avoid the pitfalls, and increase their capacity, for better TD management.
Article
Full-text available
Context The technical debt (TD) metaphor describes actions made during various stages of software development that lead to a more costly future regarding system maintenance and evolution. According to recent studies, on average 25% of development effort is spent, i.e. wasted, on TD caused issues in software development organizations. However, furth...
Preprint
Full-text available
The technical debt (TD) metaphor describes actions made during various stages of software development that lead to a more costly future regarding system maintenance and evolution. According to recent studies, on average 25% of development effort is spent, i.e. wasted, on TD caused issues in software development organizations. However, further resea...
Article
Incorporating narrative elements into risk communication may encourage preparation for environmental hazards in ways that scientific language alone does not. We integrate narrative theory, narrative persuasion, and risk theories into a Narrative Risk Communication Framework and then assess the effectiveness of character selection as a narrative mec...
Article
Technical Debt (TD) can be injected at any stage of software development. Once injected, TD rarely remains contained and spreads across other stages causing various problems. During software development, technical and non-technical roles need to cooperate and communicate complex issues to implement optimal solutions. This article presents a model f...
Article
Context Architectural decisions are considered one of the most common sources of technical debt (TD). Thus, it is necessary to understand how TD is perceived by software architects, particularly, the practices supporting the elimination of debt items from projects, and the practices used to reduce the chances of TD occurrence. Objective This paper...
Article
Full-text available
As technical debt (TD) potentially occurs as a result of poor decisions that affect software development tasks, one might expect that practitioners following different process models, such as agile, hybrid or traditional, will perceive and manage the effects of TD differently. This study investigates the potential relationship between development p...
Conference Paper
Background: Little is known about the practices used for technical debt (TD) payment. The study of payment practices, as well as the reasons for not applying them, can help practitioners to control and manage TD items. Aims: To investigate, from the point of view of software practitioners, if TD items have been paid off in software projects, the pr...
Conference Paper
Full-text available
[Context and Motivation] It is common for teams to take shortcuts during software development that, in the future, will lead to maintainability issues and affect productivity and development cost. Different types of technical debt may affect software projects, including those associated with software documentation. Although there are many studies o...
Article
Full-text available
Introduction Whereas scientists depend on the language of probability to relay information about hazards, risk communication may be more effective when embedding scientific information in narratives. The persuasive power of narratives is theorized to reside, in part, in narrative transportation. Purpose This study seeks to advance the science of s...
Article
Emerging new materialism scholarship provides an exciting theoretical space not only for challenging traditional conceptions of human agency but also for rethinking the role of the material world in shaping political outcomes. Although a wildly diverse intellectual movement, this scholarship shares the common goal of widening traditional understand...
Chapter
Design patterns represent a means of communicating reusable solutions to common problems, provided they are implemented and maintained correctly. However, many design pattern instances erode as they age, sacrificing qualities they once provided. Identifying instances of pattern decay, or pattern grime, is valuable because it allows for proactive at...
Article
Simulating multiple linked elemental cycles is a frontier in the field of biogeochemistry. The Generalized Algorithm for Nutrient, Growth, Stoichiometric and Thermodynamic Analysis (GANGSTA) is a software framework that automates the instantiation of formalized, user-defined conceptual models of linked elemental cycles as simulation model code. The...
Conference Paper
Context: Managing technical debt (TD) associated with potential security breaches found during design can lead to catching vulnerabilities (i.e., exploitable weaknesses) earlier in the software lifecycle; thus, anticipating TD principal and interest that can have decidedly negative impacts on businesses. Goal: To establish an approach to help asses...
Article
We report on the Ninth International Workshop on Managing Technical Debt, collocated with the 18th International Conference on Agile Software Development (XP 2017) in Cologne. The technical debt research community continues to expand through collaborations of industry, tool vendors, and academia. The theme of this year's workshop was on technical d...
Conference Paper
Welcome to the Ninth International Workshop on Managing Technical Debt, collocated with the 18th International Conference on Agile Software Development (XP 2017) in Cologne. The technical debt research community continues to expand through collaborations of industry, tool vendors, and academia. The main topic of this year's workshop was on the impa...
Article
We report here on the Eighth International Workshop on Managing Technical Debt, collocated with the International Conference on Software Maintenance and Evolution (ICSME 2016). The technical debt research community continues to expand through collaborations of industry, tool vendors, and academia. The major themes of discussion this year indicate c...
Conference Paper
Providing software developers and researchers with useful technical debt analysis tools is an instrumental outcome of software engineering and technical debt research. Such tools aggregate industry best practices to provide users with organized and quantifiable metrics that can help minimize the time it takes to synthesize and make an intelligent f...
Article
Full-text available
Cloud-based speech recognition systems enhance Web surfing, transportation, health care, etc. For example, using voice commands helps drivers search the Internet without affecting traffic safety risks. User frustration with network traffic problems can affect the usability of these applications. The performance of these type of applications should...
Conference Paper
Full-text available
Abstract—We perform an experimental evaluation of two popular cloud-based speech recognition systems. Cloud-based speech recognition systems enhances Web surfing, transportation, health care, etc. Using voice commands helps drivers stay connected to the Internet by avoiding traffic safety risks. The performance of these type of applications should...
Conference Paper
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 techniq...
Article
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 des...
Article
Full-text available
We have developed a mechanistic model of aquatic microbial metabolism and growth, where we apply fundamental ecological theory to simulate the simultaneous influence of multiple potential metabolic reactions on system biogeochemistry. Software design was based on an anticipated cycle of adaptive hypothesis testing, requiring that the model implemen...
Article
Full-text available
Context: We investigate class grime, a form of design pattern decay, wherein classes of the pattern realization have extraneous attributes or methods, which obfuscate the intended design of a pattern. Goal: To expand the taxonomy of class grime using properties of class cohesion. Using this expanded taxonomy we explore the effect that forms of clas...
Article
Context: Long-term software management decisions are directly impacted by the quality of the software's architecture. Goal: Herein, we present a replication case study where structural information about a commercial software system is used in conjunction with bug-related change frequencies to measure and predict architecture quality. Method: Metric...
Article
Context Software systems need to be of high enough quality to enable growth and stability. Goal The purpose of this research is to study the effects of code changes that violate a design pattern's intended role on the quality of a project. Method To investigate this problem, we have developed a grime injector to model grime growth, a form of design...
Conference Paper
Context: We investigate class grime, a form of design pattern decay, wherein classes of the pattern realization have extraneous attributes or methods, which obfuscate the intended design of a pattern. Goal: To expand the taxonomy of class grime using properties of class cohesion. Using this expanded taxonomy we explore the effect that forms of clas...
Conference Paper
Full-text available
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, the...
Article
Introgressive hybridization with introduced species is threatening the genetic integrity of many native fish populations worldwide. To date, several studies have indicated a direct relationship between rates of hybridization (H) within a sub-population of native fish and the stream distance (D) separating that sub-population from the closest source...
Article
The recent proliferation of software tools that aid researchers in various phases of data tracking and analysis undoubtedly contribute to successful development of increasingly complex and data-intensive scientific investigations. However, the lack of fully integrated solutions to data acquisition and storage, quality assurance/control, visualizati...
Article
Current methods for characterizing the influence of geomorphic structure on river processes are not well suited for study of large rivers with extensive hydrologic exchanges between the channel, floodplain surface, and alluvial aquifer. Here we applied a spatially explicit, three-dimensional hydrologic model to simulate surface and subsurface flow...
Article
Full-text available
Background: Software systems accumulate technical debt (TD) when short-term goals in software development are traded for long term goals (e.g., quick-and-dirty implementation to reach a release date vs. a well-refactored implementation that supports the long term health of the project). Some forms of TD accumulate over time in the form of source co...
Article
Full-text available
This paper described the initial and ongoing development of a tool that facilitates improved knowledge discovery within maintenance data by transforming data records into ontology-based event graphs and providing several filterable visualizations of event sequences through time. We accomplish several major preprocessing objectives, such as records-...
Article
Software designs decay as systems, uses, and operational environments evolve. Decay can involve the design patterns used to structure a system. Classes that participate in design pattern realizations accumulate grime—non-pattern-related code. Design pattern realizations can also rot, when changes break the structural or functional integrity of a de...
Conference Paper
Data in the natural sciences can often be dense and difficult to understand. The process of visualizing this data helps to alleviate these issues. In this paper, we demonstrate how using digital theater software built for planetaria can be an appropriate medium in which to facilitate these visualizations; not only because of the software's complex...
Conference Paper
Full-text available
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- fac...
Article
Full-text available
The recent proliferation of software tools that aid researchers in various phases of data tracking and analysis undoubtedly contribute to successful development of increasingly complex and data-intensive scientific investigations. However, the lack of fully integrated solutions to data acquisition and storage, quality assurance/control, visualizati...
Article
Full-text available
Biogeochemical cycling within river ecosystems is strongly influenced by geomorphic and hydrologic dynamics. To scale point observations of temperature and dissolved oxygen (DO) to a hydrologically complex and dynamic three-dimensional river-floodplain-aquifer system, we integrated empirical models of temperature and biotic oxygen utilization with...
Conference Paper
Full-text available
To date, several methods and tools for detecting source code and design anomalies have been developed. While each method focuses on identifying certain classes of source code anomalies that potentially relate to technical debt (TD), the overlaps and gaps among these classes and TD have not been rigorously demonstrated. We propose to construct a sem...
Conference Paper
Full-text available
The management of technical debt ultimately requires decision making - about incurring, paying off, or deferring technical debt instances. This position paper discusses several existing approaches to complex decision making, and suggests that exploring their applicability to technical debt decision making would be a worthwhile subject for further r...
Article
Full-text available
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 thin...
Article
Full-text available
Software engineering is a continually evolving discipline, wherein researchers and members of industry are working towards defining and refining what are known as "best practices." Best practices are the set of known correct engineering techniques that lead to quality software. When a software artifact is produced, it becomes temporally locked into...
Conference Paper
Full-text available
We created an application that facilitates improved knowledge discovery from aircraft maintenance data by transforming transactional database records into ontology-based event graphs, and then providing a filterable visualization of event sequences through time. We developed OWL ontologies based on formally defined IEEE standards, and use these ont...
Conference Paper
Full-text available
The Virtual Observatory and Ecological Informatics System (VOEIS) provides a framework for data acquisition, analysis, model integration, and display of data products from completed workflows including geospatially explicit models, graphs from statistical analyses, and GIS displays of classified ecological attributes on the landscape. VOEIS is inte...
Conference Paper
Full-text available
In model-based diagnostic algorithms, it is assumed that the model is correct. If the model is incorrect, the diagnostic algorithm may diagnose the wrong fault, which can be costly and time consuming. Using past maintenance events, one should be able to make corrections to the model in order for diagnostic algorithm to correctly diagnosis faults. I...
Article
Design pattern languages have started to gain more attention by providing the ability to specify in-stances of patterns. The Role Based Metamodeling Language (RBML) is a visually oriented language de-fined in terms of a specialization of the UML meta-model that is used to verify and specify generic or domain specific design patterns. The evolution...
Article
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 d...
Article
CUAHSI's Hydrological Information System (HIS) is an internet-based system that supports the distribution of hydrologic data. It is comprised of hydrologic databases and servers connected through web services as well as software for data publication, discovery and access. Though HIS provides exceptional server side support, data entry and quality c...
Conference Paper
Eleven open source software projects were analyzed to determine if the number of committing developers impacts code quality. We use cyclomatic complexity, lines of code per function, comment density, and maximum nesting as surrogate measures of code quality. We find no significant evidence to suggest that the number of committing developers affects...
Conference Paper
Software designs decay over time. While most studies focus on decay at the system level, this research studies design decay on well understood micro architectures, design patterns. Formal definitions of design patterns provide a homogeneous foundation that can be used to measure deviations as pattern realizations evolve. Empirical studies have show...
Article
Ma and Spinrad have shown that every transitive orientation of a chordal comparability graph is the intersection of four linear orders. That is, chordal comparability graphs are comparability graphs of posets of dimension four. Among other uses, this gives an implicit representation of a chordal comparability graph using O(n) integers so that, give...
Conference Paper
This paper compares two data interchange formats currently used by industry applications; XML and JSON. The choice of an adequate data interchange format can have significant consequences on data transmission rates and performance. We describe the language specifications and their respective setting of use. A case study is then conducted to compare...
Conference Paper
Evidence suggests that as software ages the original realizations of design patterns remain in place, and participants in design pattern realizations accumulate "grime" - non-pattern-related code. This research examines the consequences that grime buildup has on the testability of general purpose design patterns. Test cases put in place during the...
Conference Paper
A common belief is that software designs decay as systems evolve. This research examines the extent to which software designs actually decay by studying the aging of design patterns in successful object oriented systems. Aging of design patterns is measured using various types of decay indices developed for this research. Decay indices track the in...
Conference Paper
Achieving reliability in fault tolerant systems requires both avoidance and redundancy. This study focuses on avoidance as it pertains to the design of microchips. The lifecycle of a microchip is centered on the design of every block that makes up the hierarchy of the design. Early in the lifecycle the emphasis is on obtaining clean and fault free...
Conference Paper
Is the nature of Open Source Software (OSS) evolution fundamentally different from that of the traditional and commercially available software systems? Lehman and others conducted a series of empirical studies that found that traditional systems grow at a linear or sub-linear rate. A prior case study of the Linux OSS system suggests that OSS may ev...
Conference Paper
Full-text available
Ma and Spinrad have shown that every transitive orientation of a chordal comparability graph is the intersection of four linear orders. That is, chordal comparability graphs are comparability graphs of posets of dimension four. Among other uses, this gives an implicit representation of a chordal comparability graph using O(n) integers so that, give...