
Nelly Condori-Fernández- PhD computer Science
- Professor (Assistant) at Universidade da Coruña
Nelly Condori-Fernández
- PhD computer Science
- Professor (Assistant) at Universidade da Coruña
About
114
Publications
32,186
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,307
Citations
Introduction
Nelly Condori-Fernández currently works as an assistant professor at the Department of Computer Science, University of A Coruña. She is also a research associate from Vrije Universiteit Amsterdam. Nelly does research in Software Engineering, Information Systems (Business Informatics), and Human-computer Interaction. Her current project is 'HAPPYNESS: Emotion-aware sustainable service quality assurance.' And she has participated actively as reviewer and editor of scientific journals.
Current institution
Additional affiliations
January 2013 - January 2014
September 2010 - October 2012
Publications
Publications (114)
Currently, the internet plays a main role in collecting and providing information on the needs and preferences of app users. App reviews contain valuable insights, such as bug reports, feature requests, and user feedback. However, manually analyzing these reviews is a time-consuming task. In this paper, we conducted an experiment to automate the pr...
The automatic classification of non-functional requirements helps to reduce time and effort for the stakeholders. Several techniques have been used for this task, including the latest techniques in Machine Learning (ML) and Natural Language Processing (NLP), such as pre-trained models, with promising results. This research aims to analyze the perfo...
Supervised Machine Learning algorithms (ML) have enhanced the performance of the automatic non-functional requirements (NFR) classification in the Requirements Engineering domain. However, the lack of public datasets, dealing with imbalanced datasets and reproducibility are current concerns in ML experiments. We conducted a quasi-experiment to gene...
Context and motivation: Machine Learning (ML) algorithms and Natural Language Processing (NLP) techniques have effectively supported the automatic software requirements classification. The emergence of pre-trained language models, like BERT, provides promising results in several downstream NLP tasks, such as text classification. Question/problem: M...
This research aims at providing a guiding support for the selection of relevant features and quality requirements for designing persuasive software systems. To do this, a mapping between the Persuasive System Design (PSD) model and a generic Sustainability-Quality (SQ) model was carried out. As a result of this mapping, we extended the SQ model, by...
Requirements prioritization (RP), part of Requirements engineering (RE), is an essential activity of Software Product-Lines (SPL) paradigm. Similar to standard systems, the identification and prioritization of the user needs are relevant to the software quality and challenging in SPL due to common requirements, increasing dependencies, and diversit...
In the last decades, the Natural Language Generation (NLG) methods have been improved to generate text automatically. However, based on the literature review, there are not works on generating text for persuading people. In this paper, we propose to use the SentiGAN framework to generate messages that are classified into levels of persuasiveness. A...
[Context and Motivation] Our lives are being transformed by context-aware software applications with important social, environmental, and economic implications. [Question/Problem] Experts recognized that quality attributes, e.g. security, are the cornerstone to get healthy social implications of these applications. However, do end-users (service co...
Emotion research in the area of software engineering has gained significant attention. Mostly this research has been focused on understanding the role of emotions in software programming carried out within collaborative software development environments. With the purpose of providing more evidence on emotion research in the early stages of the soft...
[Background] The performance of emotion recognition systems depends heavily on datasets used in their training, validation, or testing stages. [Aims] This research aims to evaluate the extent to which public available physiological datasets created for emotion recognition systems meet a set of reference requirements. [Method] Firstly, we analyze th...
In this chapter, a Negative User Experience (NUX)-based method for deriving sustainability requirements of persuasive software systems is proposed. The method relies on the analysis of NUX assessment, and the exploitation of relationships between the SQ model and the PSD model, which are well-known models for sustainability-quality in software syst...
Scientific research addressing the relation between software and sustainability is slowly maturing in two focus areas, related to ‘sustainable software’ and ‘software for sustainability’. The first is better understood and may include research foci like energy efficient software and software maintainability. It most-frequently covers ‘technical’ co...
Nowadays, datasets are an essential asset used to train, validate, and test stress detection systems based on machine learning. In this paper, we used two sets of FAIR metrics for evaluating five public datasets for stress detection. Results indicate that all these datasets comply to some extent with the (F)indable, (A)ccessible, and (R)eusable pri...
div>
Rural Community Tourism (RCT) is an activity that contributes to the economic, social and sustainable development of a country in rural areas. In this research, the goal is to develop an intelligent platform (IP) to meet the needs of different participants in RCT. It presents the experience of focusing on requirements engineering, going throug...
Context and Motivation] Our lives are being transformed by context-aware software applications with important social, environmental , and economic implications. [Question/Problem] Experts recognised that quality attributes, e.g. security, are the cornerstone to get healthy social implications of these applications. However, do end-users (service co...
Ensuring the quality of user experience is very important for increasing the acceptance likelihood of software applications, which can be affected by several contextual factors that continuously change over time (e.g., emotional state of end-user). Due to these changes in the context, software continually needs to adapt for delivering software serv...
The present live study is proposed with the objective of investigating the influence of negative emotions (i.e., stress) in the efficiency for verifying conceptual models. To conduct this study, we use a Model-driven Testing tool, named CoSTest, and our own version of stress detector within a competition setting. The experiment design, overview of...
TESTAR is a traversal-based and scriptless tool for test automation at the Graphical User Interface (GUI) level. It is different from existing test approaches because no test cases need to be defined before testing. Instead, the tests are generated during the execution, on-the-fly. This paper presents an empirical case study in a realistic industri...
In the last years, software engineering researchers have defined sustainability as a quality requirement of software, but not enough effort has been devoted to develop new methods/techniques to support the analysis and assessment of software sustainability. In this study, we present the Sustainability Assessment Framework (SAF) that consists of two...
This book constitutes the refereed proceedings of the 6th International Conference on Information Management and Big Data, SIMBig 2019, held in Lima, Peru, in August 2019.
The 15 full papers and 16 short papers presented were carefully reviewed and selected from 104 submissions. The papers address issues such as data mining, artificial intelligence...
El turismo rural comunitario (TRC) es una actividad que contribuye, desde las zonas rurales, al desarrollo económico-social y sostenible de un país. En este trabajo de investigación se tuvo como objetivo desarrollar una Plataforma Inteligente (PI) que satisfaga las necesidades de los distintos actores del TRC. Se presenta la experiencia centrada en...
Context and Motivation] In the last years, software engineering researchers have contributed to defining the notion of sustainability-aware software as a quality requirement. [Question/problem] The field is, however, still missing instruments supporting the design and assessment of software sustainability. [Objective] This research aims at providin...
[Background] A software sustainability model is commonly defined in terms of social, economic, technical and environmental dimensions. A key challenge is its characterization regarding sustainability requirements and their dependencies since it depends on, and varies with, the type of software system, and changes in operational contexts. [Aims] Wit...
[Context] Model transformations are key elements of Model-driven
Engineering. They allow querying, synthesizing and transforming models into
other models or code. [Problem] However, as with other software development
artefacts, they are not free from anomalies and thus require specialist verification
techniques. [Objective] The objective of this st...
[Context] Research on the professional occupation of Requirements Engineering (RE) indicated soft skills as very important in employers' search for RE specialists. A very long list of soft skills came out of prior research, with proficiency in English being ranked as the Number One skill. [Question/problem] To what extent, however, are these skills...
In recent years, several stress detection methods have been proposed, usually based on machine learning techniques relying on obstructive sensors, which could be uncomfortable or not suitable in many daily situations. Although studies on emotions are emerging and rising in Software Engineering (SE) research, stress has not been yet well investigate...
In recent years, several stress detection methods have been proposed, usually based on machine learning techniques relying on obstructive sensors, which could be uncomfortable or not suitable in many daily situations. Although studies on emotions are emerging and rising in Software Engineering (SE) research, stress has not been yet well investigate...
Background: A grand challenge for Requirement Engineering (RE) research is to help practitioners understand which RE methods work in what contexts and why. RE researchers recognize that for an RE method to be adopted in industry, RE practitioners should be able to evaluate the relevance of empirical studies to their practice. One possible approach...
Behavior Change Software systems (BCSSs) have shown promising outcomes in terms of promoting healthy behaviors. However, a negative User Experience (UX) can be induced by BCSS if designers do not have clear understanding of the requirements that factually help in changing the user behavior that achieves a sustainability goal.
In order to get insigh...
Researchers have proposed a number of prioritization techniques to help decision makers select an optimal combination of (non-) functional requirements to implement. However, most of them are defined based on an ordinal or nominal scale, which are not reliable because they are limited to simple operations of ranked or ordered requirements. We argue...
[Context and Motivation] Modern society is facing important challenges that are critical to improve its environmental performance. The literature reports on many green strategies aimed at reducing energy consumption. However, little research has been carried out so far on including green strategies in software design.
[Question/problem] In this pap...
Context: When playing a co-operative game, being aware of your collaborators (where they are playing, what they are doing, the abilities they have, etc.) is essential for achieving the game's goals. This led to the definition of Gamespace Awareness in order to guide in the identification of the awareness needs in the form of a compilation of the aw...
Background
Since sustainability became a challenge in software engineering, researchers mainly from requirements engineering and software architecture communities have contributed to defining the basis of the notion of sustainability-aware software.
Problem
Despite these valuable efforts, the assessment and design based on the notion of sustainabi...
There is a variety of persuasive applications that have been proposed in different application domains like well-being, health-care and e-commerce. However many have been designed largely for a general audience. Designers of these technologies may achieve more success if applications consider contextual information of the user for making them more...
While modern software development technologies enhance the capabilities of model-based/driven development, they introduce challenges for testers such as how to perform early testing at model level to ensure the quality of the model. In this context, we have developed an early testing technique supported by the CoSTest tool to validate requirements...
Although mutation testing is a well-known technique for assessing the quality of tests, there is not a lot of support available for model-level mutation analysis. It is also considered to be expensive due to: (i) the large number of mutants generated; (ii) the time-consuming activity of determining equivalent mutants; and (iii) the mutant execution...
As joint invited editors, we are proud to present the April 2016 and August 2016 issues of CLEIej, which include a number of revised and reviewed versions of the best papers presented at CLEI 2015 in Arequipa, Peru in October 2015. Authors were asked to prepare extended papers with new contributions with respect to the conference versions; a total...
There is a variety of persuasive applications that have been proposed in different application domains like well-being, health-care and e-commerce. However many have been designed largely for a general audience. Designers of these technologies may achieve more success if applications consider contextual information of the user for making them more...
Mutation Testing is a well-established technique for assessing the quality of test cases by checking how well they detect faults injected into a software artefact (mutant). Using this technique, the most critical activity is the adequate design of mutation operators so that they reflect typical defects of the artefact under test. This paper present...
Quality requirements prioritization is a complex multi-criteria decision making process that stakeholders face in any phase of software development. Several surveys have been carried out to identify the most important quality requirements considered in various domains and stakeholder perspectives.
There is a lack of understanding, however, about ho...
Testing applications with a graphical user interface (GUI) is an important, though challenging and time consuming task. The state of the art in the industry are still capture and replay tools, which may simplify the recording and execution of input sequences, but do not support the tester in finding fault-sensitive test cases and leads to a huge ov...
In Model-Driven Development (MDD), defects are managed at the level of conceptual models because the other artefacts are generated from them, such as more refined models, test cases and code. Although some studies have reported on defect types at model level, there still does not exist a clear and complete overview of the defect types that occur at...
This paper introduces a new type of automated testing oracle, called the execution equivalence (EE) invariants. These invariants can be mined from application logs that capture both application events and application states. The EE-invariants express an equivalence relation on the sequences of application events in terms of equality of respective i...
Abstract---Several initiatives have been proposed in recent years with the purpose of investigating how to tackle sustainability issues within software systems and software engineering. However, there is a lack of attention from the research community in exploring sustainability as an emergent quality property of the software systems, especially wh...
Numerous combinatorial testing tools are available for generating test cases. However, many of them are never used in practice. One of the reasons is the lack of empirical studies that involve human subjects applying testing techniques. This paper aims to investigate the applicability of a combinatorial testing tool in the company SOFTEAM. A case s...
[Context] Automated test case design and execution at the GUI level of applications is not a fact in industrial practice. Tests are still mainly designed and executed manually. In previous work we have described TESTAR, a tool which allows to set-up fully automatic testing at the GUI level of applications to find severe faults such as crashes or no...
In a testing process, the design, selection, creation and execution of test cases is a very time-consuming and error-prone task when done manually, since suitable and effective test cases must be obtained from the requirements. This paper presents a model-driven testing approach for conceptual schemas that automatically generates a set of abstract...
[Context] Requirements validation is critical in the pursuit of quality software. It usually demands the collaboration of multiple stakeholders with different perspectives. [Question] Our community has reported scarce experimental studies on the role of collaborative interaction in requirements validation. The goal of this study is to explore the e...
This paper describes a case study executed to evaluate a combinatorial test design approach within the industrial setting of IBM Research. An existing combinatorial test suite was compared against a prioritized combinatorial test suite that was generated with the Combinatorial Tree Editor XL Profesional (CTE). The prioritization technique was recen...
Testing of user interfaces of web applications has not yet received
enough attention. One reason might be the lack of appropriate
methodology and tool support. In this paper, we present a systematic
approach for test design, implementation and execution of web applications.
Instead of error prone capture and replay tools, we use Selenium
in a custo...
In the context of service-based systems, applications access software services, either home-built or third-party, to orchestrate their functionality. Since such services evolve independently from the applications, the latter need to be tested to make sure that they work properly with the updated or new services. In a previous work we have proposed...
MDD tools are very useful to draw conceptual models and to automate code generation. Even though this would bring many benefits, wide adoption of MDD tools is not yet a reality. Various research activities are being undertaken to find why and to provide the required solutions. However, insufficient research has been done on a key factor for the acc...
[Context] Numerous combinatorial testing techniques are available for generating test cases. However, many of them are never used in practice. [Objective] Considering that learn ability plays a vital role in initial adoption or rejection of a technology, in this paper we aim to investigate the learnability of a combinatorial testing tool in an indu...
This paper aims at evaluating a set of automated tools of the FITTEST EU project within an industrial case study. The case study was conducted at the IBM Research lab in Haifa, by a team responsible for building the testing environment for future development versions of an IBM system management product. The main function of that product is resource...
[Context] Replication Data Management (RDM) aims at enabling the use of data collections from several itera-tions of an experiment. However, there are several major chal-lenges to RDM from integrating data models and data from em-pirical study infrastructures that were not designed to cooperate, e.g., data model variation of local data sources. [Ob...
Case studies for evaluating tools in software engineering are powerful. Although they cannot achieve the scientific rigour of formal experiments, the results can provide sufficient information to help companies judge if a specific technology being evaluated will benefit their organization.
This paper reports on a case study done for evaluating a co...
Usability is a quality attribute related to effectiveness, efficiency and satisfaction of the end-users when they interact with a system. There are sound usability design guidelines that aim to optimize the system usability. However, it is difficult to work with them if there is not a previous background in the Human-Computer Interaction area. More...
This paper describes the Java Unit Testing Tool Competition that ran in the context of the Search Based Software Testing (SBST) workshop at ICST 2013. It describes the main objective of the benchmark, the Java classes that were selected, the data that was collected, the tools that were used for data collection, the protocol that was carried out to...
Numerous combinatorial testing techniques and tools are available for generating test cases. However, many of them are never used in practice. Why is it so difficult to introduce software testing research into testing prac-tice? In this paper, by means of a panel conducted at 25th International Con-ference on Advanced information Systems Engineerin...
This short paper summarizes and discusses the result of an iterative construction and evaluation of a checklist for writing and reading reports about experimental and observational research.
Along with recent trends in using goal-oriented approaches for requirements engineering and system development activities, various techniques for managing adaptable stakeholder goals and requirements are proposed and used by the software engineering industry. Enterprise Architecture (EA) models which tie business goals, business processes and suppo...
[Context and Motivation] As a result of recent trends in enhancing Service Oriented Requirement Engineering activities, a number of service description methods have been proposed for describing services. The availability of different service description methods can give developers a range of options to choose from so that they can have an appropria...
From literature study, we collected: (a) a set of core features of the RBAC model, according to the ANSI/INCITS 359:2004 RBAC standard, (b) implicit assumptions, (c) a set of strengths, and (d) a set of phenomena which may limit these strengths in practice. To acquire insights about these four elements and complement our initial set of strengths an...
[Context and Motivation]
Based on published output in the premium RE conferences and journals, we observe a growing body of research using both quantitative and qualitative research methods to help understand which RE technique, process or tool work better in which context. Also, more and more empirical studies in RE aim at comparing and evaluating...
This article reports on an experimental evaluation of a unified checklist for case study and experimental research. The checklist aims at exhibiting the underlying, shared, structure of observational and experimental research, and is based on several published checklist in software engineering and other disciplines. We asked a small sample of subje...
This report describes de design of an experiment that intends to compare two variants of a modeldriven system development method, so as to assess the impact of requirements engineering practice in the quality of the conceptual models. The conceptual modelling method being assessed is the OO-Method [Pastor and Molina 2007]. One of its variants inclu...
Recently, the Requirements Engineering (RE) community has become increasingly aware of the importance of carrying out industry-relevant research. Researchers and practitioners should be able to evaluate the relevance of their empirical research to increase the likely adoption of RE methods in software industry. It is in this perspective that we eva...
According to the Model-Driven Development (MDD) paradigm, analysts can substantially improve the software development process concentrating their efforts on a conceptual model, which can be transformed into code by means of transformation rules applied by a model compiler. However, MDD tools are not widely used in industry. One of the reasons for t...
In this paper we analyse possible reasons for the relatively low use of theories in software engineering (SE) papers found by Hannay et al.~\cite{Hannay07}. We provide an initial explanation in terms of properties of theories, test this by analyzing 32 of the 40 theories reviewed by Hannay et al., and then revise our analysis based on this test. Ou...
Usability is currently a key feature for developing quality systems. A system that satisfies all the functional requirements can be strongly rejected by end-users if it presents usability problems. End-users demand intuitive interfaces and an easy interaction in order to simplify their work. The first step in developing usable systems is to determi...
Background: Requirements Engineering (RE) researchers recognize that for RE methods to be adopted in industry, practitioners should be able to evaluate the relevance of a study to their practice. . Kitchenham et al proposed a set of perspective-based checklists, which demonstrated to be a useful instrument for this purpose. Specifically, the checkl...
Nowadays several Computer-Aided Software Engineering environments exploit Model-Driven Engineering (MDE) techniques in order to generate a single user interface for a given computing platform or multi-platform user interfaces for several computing platforms simultaneously. Therefore, there is a need to assess the usability of those generated user i...
Requirements Engineering (RE) is a relatively young discipline, and still many advances have been achieved during the last
decades. In particular, numerous RE approaches are proposed in the literature with the aim of understanding a certain problem
(e.g. information systems development) and establishing a knowledge base that is shared between domai...
This paper reports on an experiment that investigates the predictability of software project size from software product size. The predictability research problem is analyzed at the stage of early requirements by accounting the size of functional requirements as well as the size of non-functional requirements. The experiment was carried out with 55...
This paper describes an empirical mapping study, which was designed to identify what aspects of software requirement specifications (SRS) are empirically evaluated, in which context, and by using which research method. On the basis of 46 identified and categorized primary studies, we found that understandability is the most commonly evaluated aspec...
Requirements engineering (RE) is a relatively young discipline, and still many advances have been achieved during the last decades. In particular, numerous RE methods have been proposed. However, there is a growing concern for empirical validations that assess RE proposals and statements. This paper is related to the evaluation of the quality of fu...
Numerous software requirements specification (SRS) approaches have been proposed in software engineering. However, there has been little empirical evaluation of the use of these approaches in specific contexts. This paper describes the results of a mapping study, a key instrument of the evidence-based paradigm, in an effort to understand what aspec...
Traditionally, usability has been evaluated taking into account the user's satisfaction when interacting with the software system. However, in a Model-Driven Development (MDD) process, where conceptual models are the main resource for software system generation, the usability can potentially be evaluated at earlier stages. This work goes one step f...
Software measurement currently plays a crucial role in software engineering given that the evaluation of software quality depends on the values of the measurements carried out. One important quality attribute is measurement precision. However, this attribute is frequently used indistinctly and confused with accuracy in software measurement. In this...
The capability to accurately quantify the size of software developed with a Model-Driven Development (MDD) method is critical to software project managers for evaluating risks, developing project estimates, and having early project indicators. This paper presents a measurement procedure defined according to the last version of the ISO 19761 standar...
The measurement of the functional size of applications generated in MDA environments is a challenge for the software development industry. This paper presents the OO-Method COSMIC Function Points (OOmCFP), a measurement procedure that has been designed to measure the functional size of object-oriented applications generated from their conceptual mo...
Software reuse is essential in improving efficiency and productivity in the software development process. This paper analyses reuse within requirements engineering phase by taking and adapting a standard functional size measurement method, COSMIC FFP. Our proposal attempts to quantify reusability from Object Oriented requirements specifications by...
Software development based on transformation models has resulted in increasing interest in full automatic software measurement from conceptual models. In this paper, we propose a theoretical model for evaluation of the extent to which a model-driven measurement procedure would be accepted in practice. We identified a number of factors that could af...
Full automatic software measurement from conceptual models is now accepted by academics, although take-up of these model-based measurement procedures in practice by software practitioners has been slow. To encourage acceptance in industry, an acceptance model for measurement procedures is proposed, identifying a set of factors that influence percei...
This paper introduces a measurement procedure, called RmFFP, which describes a set of operations for modelling and estimating
the size of object-oriented software systems from high-level specifications using the OO-Method Requirement Model. OO-Method
is an automatic software production method. The contribution of this work is to systematically defi...
In the framework of function points associated to OO-method conceptual models (OOmFP), measuring the functional size of an information system in a precise and automatic way starting from its conceptual model is today a reality. The industrial application of the OO-Method modelling tools has resulted in their evolution, incorporating support for new...