Clemente IzurietaMontana State University | MSU · Department of Computer Science
Clemente Izurieta
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)
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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.
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...
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...
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...
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...
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...
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...
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...
[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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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-...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...