Amador Durán ToroUniversity of Seville | US · Languages and Systems
Amador Durán Toro
Doctor en Informática
About
77
Publications
60,090
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,036
Citations
Publications
Publications (77)
Context: The Open Science (OS) movement promotes the value of making public the research artifacts (datasets, analysis scripts, guidelines, etc.) used during empirical studies. OS is widely known in areas such as Medicine or Biology, where the process of sharing research artifacts is subject to strict protocols. Unfortunately, in Software Engineeri...
Mutation testing drives the creation and improvement of test cases by evaluating their ability to identify synthetic faults. Over the past decades, the technique has gained popularity in academic circles. In practice, however, little is known about its adoption and use. While there are some pilot studies applying mutation testing in industry, the o...
Context
Women have historically been underrepresented in Software Engineering, due in part to the stereotyped assumption that women are less technically competent than men. Pair programming is both widely used in industry and has been shown to increase student interest in Software Engineering, particularly among women; but if those same gender bias...
In this visionary article, we present the concept of federated accountability, an innovative approach that distributes accountability-related computation and data across the compute continuum. To demonstrate the feasibility and versatility of our approach, we developed a prototype using blockchain technology that serves as a tangible illustration o...
The so-called API economy has popularised the consumption of APIs and their payment through pricing plans. This trend is very much in line with and particularly beneficial for systems with a microservices architecture that makes use of external APIs. In these cases, more and more often, the design of the system is based on the premise that its func...
Context. Software Engineering (SE) has low female representation due to gender bias that men are better at programming. Pair programming (PP) is common in industry and can increase student interest in SE, especially women; but if gender bias affects PP, it may discourage women from joining the field. Objective. We explore gender bias in PP. In a re...
The need of replicating empirical studies in Computer Science is widely recognized among the research community. It is essential to report the changes of each replication to promote not only the comprehensibility of the evolution of the experimental validity across a family of studies, but also replicability itself. Unfortunately, the lack of propo...
Purpose: The practice of mindfulness aims to improve concentration and attention, which has proven useful in knowledge-intensive and stressful work environments like technological companies. This article aims to find empirical evidence on the positive effect of the practice of mindfulness on a sample of 56 helpdesk employees working for a consultin...
Context: The need of replicating empirical studies in Computer Science (CS) is widely recognized among the research community to consolidate acquired knowledge generalizing results. It is essential to report the changes of each replication to understand the evolution of the experimental validity across a family of studies. Unfortunately, the lack o...
Context. Pair programming (PP) has been found to increase student interest in Computer Science, particularly so for women, and would therefore appear to be a way to help remedy their under-representation, which could be partially motivated by gender stereotypes applied to software engineers, assuming that men perform better than their women peers....
italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Context
. Mindfulness is a meditation technique whose main goal is keeping the mind calm and educating attention by focusing only on one thing at a time, usually breathing. The reported benefits of its continued practice can be of interest for Software...
Context: In any discipline, replications of empirical studies are necessary to consolidate the acquired knowledge. In Software Engineering, replications have been reported since the 1990s, although their number is still small. The difficulty in publishing, the lack of guidelines, and the unavailability of replication packages are pointed out by the...
Searching and displaying data based on user queries is a key feature of most software applications such as information systems, web portals, web APIs, and data analytic platforms. The large volume of data managed by these types of systems, henceforth called query-based systems (QBS), makes them extremely hard to test due to the difficulty to assess...
Process performance indicators (PPIs) allow the quantitative evaluation of business processes, providing essential information for decision making. It is common practice today that business processes and PPIs are usually modelled separately using graphical notations for the for- mer and natural language for the latter. This approach makes PPI defin...
Context: Performance testing is a challenging task mainly due to the lack of test oracles, i.e. mechanisms to decide whether the performance of a program is acceptable or not because of a bug. Metamorphic testing enables the generation of test cases in the absence of an oracle by exploiting the so-called metamorphic relations between the inputs and...
In a literature review on the last 20 years of automated analysis of feature models, the formalization of analysis operations was identified as the most relevant challenge in the field. This formalization could provide very valuable assets for tool developers such as a precise definition of the analysis operations and, what is more, a reference imp...
Performance testing is a challenging task mainly due to the lack of test oracles, that is, mechanisms to decide whether the performance of a program under a certain workload is either acceptable or poor due to a performance bug. Metamorphic testing enables the generation of test cases in the absence of an oracle by exploiting the relations (so–call...
Metamorphic testing enables the generation of test cases in the absence of an oracle by exploiting relations among different executions of the program under test, called metamor-phic relations. In a recent survey, we observed a great variability in the way metamorphic relations are described, typically in an informal manner using natural language....
Many proposals to model service level agreements (SLAs) have been 1 elaborated in order to automate different stages of the service lifecycle such as 2 monitoring, implementation or deployment. All of them have been designed for 3 computational services and are not well–suited for other types of services such 4 as business process outsourcing (BPO)...
Variability determines the capability of software applications to be configured and customized. A common need during the development of variability-intensive systems is the automated analysis of their underlying variability models, for example, detecting contradictory configuration options. The analysis operations that are performed on variability...
Context. Many reports support the fact that some psycho--social aspects of software engineers are key factors for the quality of the software development process and its resulting products. Based on the experience of some of the authors after more than a year of practising mindfulness---a meditation technique aimed to increase clearness of mind and...
Process performance management (PPM) aims at measuring, monitoring and analysing the performance of business processes (BPs), in order to check the achievement of strategic and operational goals and to support decision-making for their optimisation. PPM is based on process performance indicators (PPIs), so having an appropriate definition of them i...
Process Performance Indicators (PPIs) are a key asset for the measurement of the achievement of strategic and operational goals in process–oriented organisations. Ideally, the definition of PPIs should not only be unambiguous, complete, and understandable to non–technical stakeholders, but also traceable to business processes and verifiable by mean...
Process Performance Indicators (PPIs) are a key asset for the measurement of the achievement of strategic and operational goals in process–oriented organisations. Ideally, the definition of PPIs should not only be unambiguous, complete, and understandable to non–technical stakeholders, but also traceable to business processes and verifiable by mean...
Software Product Lines (SPL) and agile methods share the common goal of rapidly developing high-quality software. Although they follow different approaches to achieve it, some synergies can be found between them by (i) applying agile techniques to SPL activities so SPL development becomes more agile; and (ii) tailoring agile methodologies to suppor...
In the context of web service procurement (WSP), temporal– awareness refers to managing service demands and offers which are
subject to validity periods, i.e. their evaluation depends not only on quality of service (QoS) values but also on time. For
example, the QoS of some web services can be considered critical in working hours (9:00 to 17:00 fro...
Software solutions to automate the procurement of web services are gaining importance
when technology evolves, the number of providers increases and the needs of the clients
become more complex. There are several proposals in this field, but they all have important
drawbacks, namely: many of them are not able to check offers and demands for
interna...
In this article, an empirical evaluation and review of some metrics–based verification heuristics for use cases are presented. This evaluation is based on empirical data collected from requirements documents developed by Software Engineering students at the University of Seville using REM, a free XML–based requirements management tool developed by...
Metamodel evolution is rarely driven by empirical evidences of metamodel drawbacks. In this paper, the evolution of the use case metamodel used by the publicly available requirements management tool REM is presented. This evolution has been driven by the analysis of empirical data obtained during the assessment of several metrics–based verification...
Processes are certainly a key element in software management.
Natural language requirements documents are often verified by means of some reading technique. Some recommendations for defining a good reading technique point out that a concrete technique must not only be suitable for specific classes of defects, but also for a concrete notation in which requirements are written. Following this suggestion, we hav...
In this paper, some experiences gained during the definition of a unified, common software development process for several companies in Telvent are presented. Last year, Telvent made the decision of developing a unique software development process which was flexible enough to be adapted to specific practices and needs of the different companies. In...
As government agencies and business become more dependent on web services, software solutions to automate their procurement
gain importance. Current approaches for automating the procurement of web services suffer from an important drawback: neither
uncertainty measures nor non-linear, and complex relations among parameters can be used by providers...
In this paper, some experiences gained during the definition of a unified, common software development process for several
companies in Telvent are presented. Last year, Telvent made the decision of developing a unique software development process
which was flexible enough to be adapted to specific practices and needs of the different companies. I...
Web services bring programmers a new way to develop advanced applications able to integrate any group of services on the Internet
into a single solution. Web services procurement (WSP) is focussed on the acquisition of web services, including some complex
tasks such as the specification of demands, the search for available offers, and the best choi...
In this paper, we present an approach for the automatic verification of software requirements specifications.
We present a light-weight approach for the automatic verification of requirements. This approach is not based on natural language parsing techniques but on the representation of requirements in XML. In our approach, XSLT stylesheets are used not only to automatically generate requirements documents, but also to provide verification-oriented heurist...
Multi-Organisational Web-Based Systems (MOWS) are becoming very popular in the Internet world. It would be desirable for such systems to be quality-aware, and this feature turns the problem of selecting the web services of which they are composed into a complex task. The main reason is that the catalog of available services that meet a set of funct...
Requirements negotiation is quite an interesting, ongoing research area. Current requirements engineering models usually propose a negotiation process with similar methods and goals. Unfor- tunately, only a few have partial automatic support. In this paper, we revisit one of the most mature models, Boehm's Win-Win model. Win-Win is a qualitative, p...
In this article, we present an approach for the automatic verification of software requirements documents. This approach is based on the representation of software requirements in XML and the usage of the XSLT language not only to automatically generate requirements documents, but also to verify some desired quality properties and to compute some m...
In this paper, we present an approach for the automatic verification of software requirements specifications. This approach is based on the representation of software requirements in XML and the usage of the XSLT language not only to automatically generate requirements documents, but also to verify some desired quality properties and to automatical...
The automatic checking of quality requirements will play a
fundamental role in the future market of Web services. The reason is
that it will allow one to build economically-optimal systems whose
quality level can be guaranteed. We identify some of the main problems
with which this kind of future system is going to be faced, and also
make a realisti...
Processes are certainly a key element in software management. Defining and using processes is believed to be an important factor towards quality. Our paper describes a general process language and the experience on its use by two different research teams with two different requirements processes. The process language is the basic representation for...
In this paper, we present an automated approach for the verification of software requirements. This approach is based on the representation of software requirements in XML and the usage of the XSLT language to automatically verify some desired quality properties. These ideas have been implemented in REM, an experimental requirements management tool...
Abstract In this paper, w e present an approach for the automatic verification of software requirements specifications This approach is based on the representa - tion of software requirements in XML and the usage of the XSLT language not only to automatically generate requirements documents, but also to verify some desired quality properties and to...
Isolating computation and coordination concerns into separate pure computation and pure coordination enhances modularity, understandability and reusability of parallel and/or distributed software. This can be achieved by moving interaction primitives, which are now commonly scattered in programs, into separate modules written in a language aimed at...
One of the main problems of requirements elicitation is expressing customer requirements in a form that can be understood not only by requirements engineers but also by noncomputer professional customers and users. The usual choice for expressing elicited requirements is natural language, since it is frequently the only common language to all parti...
It is widely acknowledged within the software community that requirements quality is one of the most important factors in the success of software projects. In this paper, we show how XML and XSLT can be used to implement requirements verification heuristics that can help to discover hidden conflicts and defects in natural language requirements. Thi...
Resumen El uso de servicios WEB y de servidores de aplicaciones durante el desarrollo y explotación de sistemas multiorganizacionales basados en la W EB (MOWS), ha puesto de relieve algunas limitaciones de los actuales lenguajes de especificación de requisitos de calidad para soportar el tratamiento automá- tico que, sobre este tipo de requisitos,...