Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring Technical Debt should be prioritized with respect to developing features or fixing bugs.... more
Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring Technical Debt should be prioritized with respect to developing features or fixing bugs. Objective. The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches have been proposed in research and industry. Method. We conducted a Systematic Literature Review among 384 unique papers published until 2018, following a consolidated methodology applied in Software Engineering. We included 38 primary studies. Results. Different approaches have been proposed for Technical Debt prioritization, all having different goals and optimizing on different criteria. The proposed measures capture only a small part of the plethora of factors used to prioritize Technical Debt qualitatively in practice. We report an impact map of such factors. However, there is a lac...
We propose a methodology integrating HCI and Entrepreneurship courses.The approach allows to explore the business ideas supported for HCI techniques.The proposal brings up the students viewpoint fo...
ABSTRACT The World Wide Web is currently considered as the most appropriate software platform for the deployment of applications in wide area networks (telematics) as well as corporate intranets. Such applications are, in the majority of... more
ABSTRACT The World Wide Web is currently considered as the most appropriate software platform for the deployment of applications in wide area networks (telematics) as well as corporate intranets. Such applications are, in the majority of cases, tightly coupled with legacy databases hosted by relational management systems. However, the nature of the database enabled WWW systems is quite different from that of classical database applications developed with tools like 4GLs, Forms, Menus, etc. The basic difference lies in the stateless character of the WWW. The `user session' concept, encountered in conventional database applications, does not apply in the WWW environment. Instead, interaction with the information server is accomplished through a series of hits (request–response interactions) which are treated independently. This paper presents an architecture for the deployment of stateful database gateways for WWW servers. Although the server still treats each individual hit independently, state information maintained in the WWW browser as well as in specialized agents that operate behind the WWW server renders the WWW appropriate for a `session-aware' database application. The effort required to port an existing `session-aware' database application to the WWW environment is minimal.
Context: Previous research in the Technical Debt (TD) field has mainly focused on the technical and economic aspects, while its human aspect has received minimal attention. Objective: This paper aims to understand how software developers’... more
Context: Previous research in the Technical Debt (TD) field has mainly focused on the technical and economic aspects, while its human aspect has received minimal attention. Objective: This paper aims to understand how software developers’ morale is influenced by TD and how their morale is influenced by TD management activities. Furthermore, this study correlates the morale with the amount of wastage of time due to TD. Method: Firstly, we conducted 15 interviews with professionals, and, secondly, these data were complemented with a survey. Thirdly, we collected 473 data points from 43 developers reporting their amount of wasted time. The collected data were analyzed using both quantitative and qualitative techniques, including thematic and statistical analysis. Results: Our results show that the occurrence of TD is associated with a lack of progress and waste of time. This might have a negative influence on developers’ morale. Further, management of TD seems to have a positive influence on developers’ morale. Conclusions: The results highlight the effects TD has on practitioners’ software work. This study presents results indicating that software suffering from TD reduces developers’ morale and thereby also their productivity. However, our results also indicate that TD management increases developers’ morale and developer productivity.
In transactional systems, the objectives of quality of service regarding are often specified by Service Level Objectives (SLOs) that stipulate a response time to be achieved for a percentile of the transactions. Usually, there are... more
In transactional systems, the objectives of quality of service regarding are often specified by Service Level Objectives (SLOs) that stipulate a response time to be achieved for a percentile of the transactions. Usually, there are different client classes with different SLOs. In this paper, we extend a technique that enforces the fulfilment of the SLOs using admission control. The admission
Service Oriented Computing and its most famous implementation technology Web Services (WS) are becoming an important enabler of networked business models. Discovery mechanisms are a critical factor to the overall utility of Web Services.... more
Service Oriented Computing and its most famous implementation technology Web Services (WS) are becoming an important enabler of networked business models. Discovery mechanisms are a critical factor to the overall utility of Web Services. So far, discovery mechanisms based on the UDDI standard rely on many centralized and area-specific directories, which poses information stress problems such as performance bottlenecks and fault tolerance. In this context, decentralized approaches based on Peer to Peer overlay networks have been proposed by many researchers as a solution. In this paper, we propose a new structured P2P overlay network infrastructure designed for Web Services Discovery. We present theoretical analysis backed up by experimental results, showing that the proposed solution outperforms popular decentralized infrastructures for web discovery, Chord (and some of its successors), BATON (and it’s successor) and Skip-Graphs.
ABSTRACT Classical views on testing and their associated testing models are not dealing with the question of fault repairing but only focus on fault detection. Diagnosis consists of determining the nature of a detected fault, of locating... more
ABSTRACT Classical views on testing and their associated testing models are not dealing with the question of fault repairing but only focus on fault detection. Diagnosis consists of determining the nature of a detected fault, of locating it and hopefully repairing it. Correlatively, the only standardized quality factors implied in the detection/repair aspects of software engineering are testability and maintainability: those quality factors are misleading since they do not pinpoint this question of the location/repairing effort, that can be identified under the concept of diagnosability. This paper is thus concerned with diagnosability, its definition and the axiomatization of its expected behavior. The paper aims at:•introducing and analysing diagnosability as a significant and complementary dimension of software testability,•producing a high-level definition and axiomatization of a diagnosability measurement generic enough to be adapted to various software paradigms: this property-based approach serves as a measurement “specification”, independent on the application context and thus reusable,•detailing a diagnosability measure dedicated to data-flow software and especially test strategies impact on diagnosis and testing effort (from measure implementation to case study),•illustrating the reuse of the high-level axiomatization to the specific question of measuring the impact of assertions (or contracts for a designed by contract OO system) on diagnosis effort and preciseness.Throughout the paper, the concepts are illustrated on a case study provided by an industrial partner. At last, the reusability of the axiomatization is illustrated by proposing a measure of the impact of assertions (or contracts in a design by contract approach) on global software diagnosability. Main lessons concern both the diagnosability significance as a quality factor and the interest of an axiomatization-based methodology for building trustable software measurement.
Process starvation is a critical and challenging design problem in operating systems. A slight starvation of processes can lead to undesirable response times. In this paper, we experimentally demonstrate that Linux can starve CPU-bound... more
Process starvation is a critical and challenging design problem in operating systems. A slight starvation of processes can lead to undesirable response times. In this paper, we experimentally demonstrate that Linux can starve CPU-bound processes in the presence of network I/O-bound processes. Surprisingly, the starvation of CPU-bound processes can be encountered at only a particular range of traffic rates being
Product roadmapping enhances the product development process by enabling early information and long-term decision making about the products in order to deliver the right products to the right markets at the right time. However, relatively... more
Product roadmapping enhances the product development process by enabling early information and long-term decision making about the products in order to deliver the right products to the right markets at the right time. However, relatively little scientific knowledge is available on the application and usefulness of product roadmapping in software product development context. This study develops a framework for software product roadmapping, which is then used to study the critical aspects of the product roadmapping process. The collection of empirical evidence includes both quantitative and qualitative data which sheds further insight into the complexities involved in product roadmapping. Results revealed that organizations view the product roadmap mainly as a tool for strategic decision making as it aims at showing the future directions of the company's products. However, only a few companies appear to have an explicit approach for handling the mechanisms for creating and maintaining such a roadmap. Finally, it is suggested that the strategic importance of product roadmapping is likely to increase in the future and, as a conclusion, a new type of agility is required in order to survive in the turbulent and competitive software business environment.
Today, many countries, including several European states, the USA, and Japan, are aging; both the number and the percentage of elderly people are increasing. To create a cohesive and inclusive intergenerational society, technological... more
Today, many countries, including several European states, the USA, and Japan, are aging; both the number and the percentage of elderly people are increasing. To create a cohesive and inclusive intergenerational society, technological products and services must be adapted to the needs and preferences of these citizens. Mobile phones are promising tools to improve the quality of life for the elderly. This work presents a review of the status of mobile functionalities and applications that can satisfy the requirements and needs of older people and improve their quality of life. This analysis of the state of the art enables us to identify the strengths and weaknesses of the current systems as well as discover trends and promising future lines of research. This paper outlines several needs that should be met to improve the quality of research in this area. This work provides a basis for researchers, designers, and mobile phone service providers to think about the existing needs of the elderly, the developing trends in the field and the opportunities that mobile applications offer to improve the quality of life of the elderly and to support a cohesive and inclusive society.► Mobile phones are promising tools to improve the quality of life (QoL) for the elderly. ► We develop a review of the status of mobile applications to satisfy the needs of older people. ► The trends point to the design of holistic frameworks related to different components of the QoL models. ► This paper outlines needs to improve the quality of life of the elderly using mobile applications.
Controlling risk in software projects is considered to be a major contributor to project success. This paper reconsiders the status of risk and risk management in the literature and practice. The analysis is supported by a study of risk... more
Controlling risk in software projects is considered to be a major contributor to project success. This paper reconsiders the status of risk and risk management in the literature and practice. The analysis is supported by a study of risk practices in government agencies in an Australian State, contributing to a gap in research in the public sector. It is found that risk is narrowly conceived in research, and risk management is under-performed in practice. The findings challenge some conventional conceptions of risk management and project management. For example, it was found that software projects do not conform to a uniform structure, as assumed in much of the literature. This introduces variations in the risk and project management challenges they face. Findings also suggest that formal project management is neither necessary nor sufficient for project success. It is concluded that risk management research lags the needs of practice, and risk management as practiced lags the prescriptions of research. Implications and directions for future research and practice are discussed.
We investigate classes of SQL queries which are syn- tactically correct, but certainly not intended, no mat- ter for which task the query was written. For instance, queries that are contradictory, i.e. always return the empty set, are... more
We investigate classes of SQL queries which are syn- tactically correct, but certainly not intended, no mat- ter for which task the query was written. For instance, queries that are contradictory, i.e. always return the empty set, are obviously not intended. However, current database management systems execute such queries without any warning. In this paper, we give an exten- sive