
Paola Spoletini- Professor at Kennesaw State University
Paola Spoletini
- Professor at Kennesaw State University
About
121
Publications
25,093
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,919
Citations
Introduction
Current institution
Additional affiliations
January 2008 - December 2014
October 2006 - December 2006
Publications
Publications (121)
\([Context\,and\,Motivation]\) Large Language Models (LLMs) have made remarkable advancements in emulating human linguistic capabilities, showing potential in executing various traditional software engineering tasks, including code generation. [Question/Problem] Despite their generally good performance, utilizing LLM-generated code raises legitimat...
Capturing users’ engagement is crucial for gathering feedback about the features of a software product. In a market-driven context, current approaches to collecting and analyzing users’ feedback are based on techniques leveraging information extracted from product reviews and social media. These approaches are hardly applicable in contexts where on...
[Context and Motivation] During elicitation, in addition to collecting requirements, analysts also collect stakeholders’ goals and the present and historical interests that motivate their goals. This information can guide the resolution of requirements conflicts, support the evolution of requirements when changes occur (e.g., environmental constrai...
App store-inspired elicitation is the practice of exploring competitors' apps, to get inspiration for requirements. This activity is common among developers, but little insight is available on its practical use, advantages, and possible issues. This paper aims to study strategies, benefits, and challenges of app store-inspired elicitation, and to c...
Requirements are elicited from the customer and other stakeholders through an iterative process of interviews, prototyping, and other interactive sessions. Then, requirements can be further extended, based on the analysis of the features of competing products available on the market. Understanding how this process takes place can help to identify t...
Requirements are elicited from the customer and other stakeholders through an iterative process of interviews, prototyping, and other interactive sessions. Then, requirements can be further extended, based on the analysis of the features of competing products available on the market. Understanding how this process takes place can help to identify t...
[Context and motivation] Requirements formalisation facilitates rea-soning about inconsistencies, detection of ambiguities, and identification critical issues in system models. Temporal logic formulae are the natural choice when itcomes to formalise requirements associated to desired system behaviours. [Question/problem] Understanding and mastering...
Model design is not a linear, one-shot process. It proceeds through
refinements and revisions. To effectively support developers in
generating model refinements and revisions, it is desirable to have
some automated support to verify evolvable models. To address this
problem, we recently proposed to adopt topological proofs,
which are slices of the...
Capturing users engagement is crucial for gathering feedback about the features of a software product. In a market-driven context, current approaches to collect and analyze users feedback are based on techniques leveraging information extracted from product reviews and social media. These approaches are hardly applicable in bespoke software develop...
This book constitutes the proceedings of the 27th International Working Conference on Requirements Engineering - Foundation for Software Quality, REFSQ 2021, which was due to be held in Essen, Germany, in April 2021. Due to the COVID-19 pandemic the conference was held virtually in April 2021.
The special focus of this year`s REFSQ 2021 conference...
Among the variety of the available requirements elicitation techniques, interviews are the most commonly used. Performing effective interviews is challenging, especially for students and novice analysts, since interviews’ success depends largely on soft skills and experience. Despite their diffusion and their challenging nature, when it comes to re...
The core aim of requirements inspection is to ensure the high quality of already elicited requirements in the Software Requirements Specification. Teaching requirements inspection to novices is challenging, as inspecting requirements needs several skills as well as knowledge of the product and process that is hard to achieve in a classroom environm...
Capturing users engagement is crucial for gathering feedback about the features of a software product. In a market-driven context, current approaches to collect and analyze users feedback are based on techniques leveraging information extracted from large amount of natural language product reviews and social media. These approaches are hardly appli...
[Context and motivation] Role-playing offer experiential learning through the simulation of real-world scenarios; for this reason, it is widely used in software engineering education. In Requirements Engineering, role-playing is a popular way to provide students hands-on experience with requirements elicitation interviews. [Problem] However, managi...
Many software systems have become too large and complex to be managed efficiently by human administrators, particularly when they operate in uncertain and dynamic environments and require frequent changes. Requirements-driven adaptation techniques have been proposed to endow systems with the necessary means to autonomously decide ways to satisfy th...
A long stream of research in RE has been devoted to analyzing the occurrences and consequences of ambiguity in requirements documents. Ambiguity often occurs in documents, most often in natural language (NL) ones, but occasionally also in formal specifications, be it because of abstraction, or of imprecise designation of which real-world entities a...
This lightning talk discusses the institutional review board (IRB) and the Information Technology (IT) education community aiming to a) illuminate the benefits that our IT students and community can gain from the IRB process and b) have a general discussion of the role the IRB process should have in IT curricula and specific IT courses.
Interviews are the most widely used elicitation technique in requirements engineering (RE). However, conducting a requirements elicitation interview is challenging. The mistakes made in design or conduct of the interviews can create problems in the later stages of requirements analysis. Empirical evidence about effective pedagogical approaches for...
Controllers often are large and complex reactive software systems and thus they typically cannot be developed as monolithic products. Instead, they are usually comprised of multiple components that interact to provide the desired functionality. Components themselves can be complex and in turn be decomposed into multiple sub-components. Designing su...
Gathering requirements is an extremely difficult ask to do during requirements elicitation interviews which are used to collect requirements. The emotion of the interviewee during the elicitation interview is important because it helps to determine the interviewees engagement in the interviewing process, which in turn, assists with collecting quali...
This research is being conducted to provide requirements analysts with a supportive tool to use during elicitation interviews. In these interviews that were conducted as part of the overall project, stakeholders were asked a series of questions while wearing the Empatica E4 wristband and being recorded through various voice recording platforms. As...
As researchers and teachers and practitioners, we “software types” excel at multitasking. This, in part, led us to ask the question: Can one attend a software engineering conference and do something good for society? We found the answer to be a resounding yes. In this article, we present our first experience of running RE Cares, a conference colloc...
As researchers and teachers and practitioners, we “software types” excel at multitasking. This, in part, led us to ask the question: Can one attend a software engineering conference and do something good for society? We found the answer to be a resounding yes. In this article, we present our first experience of running RE Cares, a conference colloc...
This innovative practice work in progress paper tackles the problem of unfairness and bias in software, that recently has emerged in countless cases. This unfairness can be present in the way software makes its decision or can limit the software functionalities to work only with certain populations. Well-known examples of this problem are the Micro...
Software engineering is inherently a human-centric and collaborative process and this reflects in its teaching programs, as most of the courses comprise projects and team efforts. In order to fairly evaluate students, there is the problem of quantifying the amount of work contributed to the team development project by each of its members. Most comm...
[Context] Interviews are the most widely used elicitation technique in requirements engineering. However, conducting effective requirements elicitation interviews is challenging, due to the combination of technical and soft skills that requirements analysts often acquire after a long period of professional practice. Empirical evidence about trainin...
Modern Building Management Systems (BMSs) have been designed to automate the behavior of complex buildings, but unfortunately they do not allow occupants to customize it according to their preferences, and only the facility manager is in charge of setting the building policies. To overcome this limitation, we present BuildingRules, a trigger-action...
Software systems are usually formed by multiple components which interact with one another. In large systems, components themselves can be complex systems that need to be decomposed into multiple sub-components. Hence, system design must follow a systematic approach, based on a recursive decomposition strategy. This paper proposes a comprehensive v...
[Context and Motivation] Ambiguities identified during requirements elicitation interviews can be used by the requirements analyst as triggers for additional questions and, consequently, for disclosing further – possibly tacit – knowledge. Therefore, every unidentified ambiguity may be a missed opportunity to collect additional information. [Questi...
[Context and Motivation] Ambiguities identified during requirements elicitation interviews can be used by the requirements analyst as triggers for additional questions and, consequently, for disclosing further – possibly tacit - knowledge. Therefore, every unidentified ambiguity may be a missed opportunity to collect additional information. [Questi...
The requirements elicitation process often starts with an interview between a customer and a requirements analyst. During these interviews, ambiguities in the dialogic discourse may reveal the presence of tacit knowledge that needs to be made explicit. It is therefore important to understand the nature of ambiguities in interviews and to provide an...
Three-valued model checking has been proposed to support verification when some portions of the model are unspecified. Given a formal property, the model checker returns true if the property is satisfied, false and a violating behavior if it is not, maybe and a possibly violating behavior if it is possibly satisfied, i.e., its satisfaction may depe...
Deciding validity of Metric Temporal Logic (MTL) formulas is generally very complex and even undecidable over dense time domains; bounded variability is one of the several restrictions that have been proposed to bring decidability back. A temporal model has bounded variability if no more than v events occur over any time interval of length V, for c...
This paper describes in detail the example introduced in the preliminary evaluation of THRIVE. Specifically, it evaluates THRIVE over an abstraction of the ground model proposed for a critical component belonging to a medical device used by optometrists and ophtalmologits to dected visual problems.
Requirements elicitation is the process of discovering requirements for a system by accessing available knowledge sources and communicating with stakeholders who have a direct or indirect influence on such requirements. Although requirements elicitation is by no means a new concept and many techniques are available for this activity (e.g., intervie...
Context and Motivation: Goal-oriented methods can be used by analysts to produce a set of system requirements that reflect the customer needs and are used as guidelines in the subsequent system design, in which a model of the system is produced. The design model is used to analyze the coherence of the system behavior with the requirements. Question...
Context and Motivation: Customer-analyst interviews are among the most common techniques for eliciting requirements. However, students of computer science-related disciplines have little material and time for learning how to perform an effective interview. As a result, once out of the class, the effectiveness of analysts in interviewing highly depe...
A software specification is often the result of an iterative process that transforms an initial incomplete model through refinement decisions. A model is incomplete because the implementation of certain functionalities is postponed to a later development step or is delegated to third parties. An unspecified functionality may be later replaced by al...
Software development is an iterative process which includes a set of development steps that transform the initial high level specification of the system into its final, fully specified, implementation. This report discusses the theoretical foundations that allow Incomplete B\"uchi Automata (IBAs) to be used in the iterative development of a sequent...
Interviews are the most common and effective means to perform requirements elicitation and support knowledge transfer between a customer and a requirements analyst. Ambiguity in communication is often perceived as a major obstacle for knowledge transfer, which could lead to unclear and incomplete requirements documents. In this paper, we analyze th...
Modern Building Management Systems (BMSs) provide limited amount of control to its occupants, and typically allow only the facility manager to set the building policies. BuildingRules let occupants to customise their office spaces using trigger-action programming. Occupants can set rules that actuate building system such as lights, heating, applian...
Modern Building Management Systems (BMSs) provide limited amount of control to its occupants, and typically allow only the facility manager to set the building policies. BuildingRules let occupants to customise their office spaces using trigger-action programming. In order to accomplish this task, BuildingRules automatically detects conflicts among...
A key aspect of engineering secure systems is identifying adequate security requirements to protect critical assets from harm. However, security requirements may compete with other requirements such as cost and usability. For this reason, they may only be satisfied partially and must be traded off against other requirements to achieve “good-enough...
In the past years, the adoption of adaptive systems has increased in many fields of computer science, such as databases and software engineering. These systems are able to automatically react to events by collecting information from the external environment and generating new events. However, the collection of data is often hampered by uncertainty...
This paper proposes a technique to support the requirements engineer in transforming existing models into new models to address the customer's needs. In particular, we identify a set of possible categories of context change that indicate in which direction the original model needs to evolve. Furthermore, we associate a transformation to each catego...
XML has become a widespread format for data exchange over the Internet. The current state of the art in querying XML data is represented by XPath and XQuery, both of which define binary predicates. In this paper, we advocate that binary selection can at times be restrictive due to very nature of XML, and to the uses that are made of it. We therefor...
Software
development processes have been evolving from rigid, pre-specified, and sequential to incremental, and iterative. This evolution has been dictated by the need to accommodate evolving user requirements and reduce the delay between design decision and feedback from users. Formal verification techniques, however, have largely ignored this ev...
Conventional formal verification techniques rely on the assumption that a system's specification is completely available so that the analysis can say whether or not a set of properties will be satisfied. On the contrary, modern development lifecycles call for agileincremental and iterativeapproaches to tame the boosting complexity of modern softwar...
Previous work has shown that reasoning with real-time temporal logics is
often simpler when restricted to models with bounded variability---where no
more than v events may occur every V time units, for given v, V. When reasoning
about formulas with intrinsic bounded variability, one can employ the simpler
techniques that rely on bounded variability...
Modern software systems are often characterized by uncertainty and changes in the environment in which they are embedded. Hence, they must be designed as adaptive systems. We propose a framework that supports adaptation to non-functional manifestations of uncertainty. Our framework allows engineers to derive, from an initial model of the system, a...
[Context and motivation] In the last years motion-based games have achieved an increasing success. These games have great potential to support physiotherapeutic programs, as they can guide the patients in performing the right movements for their rehabilitation. [Question/problem] However, on the one hand, existing games performed on commercial syst...
Adaptive systems are able to modify their behaviors to respond to significant changes at run time such as component failures. In many cases, run-time adaptation is simply replacing a piece of system with a new one without interrupting the system operation. In terms of component-based systems, an adaptation may be defined as replacing a system compo...
A model has variability bounded by v/k when the state changes at most v times over any linear interval containing k time instants. When interpreted over models with bounded variability, specification formulae that contain redundant metric information -- through the usage of next operators -- can be simplified without affecting their validity. This...
In the last years, the adoption of active systems has increased in many
fields of computer science, such as databases, sensor networks, and software
engineering. These systems are able to automatically react to events, by
collecting information from outside and internally generating new events.
However, the collection of data is often hampered by u...
This chapter summarises the results achieved by the ArtDeco project and presents the overall approach for developing the models that the large-scale middleware infrastructure designed during the project uses to drive the behaviours of the information systems of a sample networked enterprise operating in the domain of wine production. This domain is...
Autonomic Computing is an innovative research area, that proposes self-management features for dynamic configuration, healing purpose, optimization and protection. Autonomic systems adapt themselves quickly to changes in the environment in which they operate, but, while this feature helps the automatic management of complex systems, it makes the jo...
Metric LTL formulas rely on the next operator to encode time distances, whereas qualitative LTL formulas use only the until operator. This paper shows how to transform any metric LTL formula M into a qualitative formula Q, such that Q is satisfiable if and only if M is satisfiable over words with variability bounded with respect to the largest dist...
Service-oriented systems live in an open world, one in which their functionality and quality of service depend on how the services they interact with evolve. System adaptation has been indicated as a way to cope with the evolution these partner services may have. When a partner does not behave as expected, in an adaptable system we can substitute i...
Self-adaptation is imposing as a key characteristic of many modern software systems to tackle their complexity and cope with the many environments in which they can operate. Self-adaptation is a requirement per-se, but it also impacts the other (conventional) requirements of the system; all these new and old requirements must be elicited and repres...
This paper presents a novel methodology to develop scheduling algorithms. The scheduling problem is phrased as a control problem, and control-theoretical techniques are used to design a scheduling algorithm that meets specific requirements. Unlike most approaches to feedback scheduling, where a controller integrates a "basic" scheduling algorithm a...
This volume contains the proceedings of the 2nd Workshop on Interaction and Concurrency Experience (ICE'09). The workshop was held in Bologna, Italy on 31th of August 2009, as a satellite workshop of CONCUR'09. The previous edition of ICE has been organized in Reykjavik (2008). The ICE workshop is intended as a series of international scientific me...
This volume contains the proceedings of the 2nd Workshop on Interaction and Concurrency Experience (ICE'09). The workshop was held in Bologna, Italy on 31th of August 2009, as a satellite workshop of CONCUR'09. The previous edition of ICE has been organized in Reykjavik (2008). The ICE workshop is intended as a series of international scientific me...
Today the current state of the art in querying XML data is represented by XPath and XQuery, both of which rely on Boolean conditions for node selection. Boolean selection is too restrictive when users do not use or even know the data structure precisely, e.g. when queries are written based on a summary rather than on a schema. In this paper we desc...
The research described in this paper shows how the runtime relocation of a reconfigurable component can be obtained using a system component that is able to update the bitstream information, moving the reconfigurable module in the desired position. This scenario defines the so-called partial bitstream relocation activity. This paper proposes a relo...
Graph transformation systems have recently become more and more popular as a general formal modelling language. It is a suitable formalism for modelling different systems like distributed and complex systems. However, modelling must be complemented with proper analysis capabilities to let the user understand how designed models behave and whether s...
Metric LTL formulas rely on the next operator to encode time distances, whereas qualitative LTL formulas use only the until operator. This paper shows how to transform any metric LTL formula M into a qualitative formula Q, such that Q is satisfiable if and only if M is satisfiable over words with variability bounded with respect to the largest dist...
Model checking is an automatic technique for verifying models of software or hardware systems against their specification. This analysis is based on an exploration of the checked system's state space, hence, it is in general affected by the state explosion problem. In this article, we present the classic model checking approaches and different tech...
Service compositions leverage remote services to deliver added-value distributed applications. Since services are administered
and run by independent parties, the governance of service compositions is intrinsically decentralized and services may evolve
independently over time. In this context, pre-deployment verification can only provide limited gu...
This paper shows how the modular structure of composite systems can guide the state-space exploration in explicit-state li near-time model-checking and make it more efficient in practice. Given a composite syst em where every module has input and output variables — and variables of different modules can be connected — a total ordering according to...
In industrial applications, the number of final products endowed with real-time automatic control systems that manage safety-critical situations has dramatically increased. Thus, it is of growing importance that the control system design flow encompasses also its translation into software code and its embedding into a hardware and software network....
This paper presents an efficient solution for modeling checking graph transformation systems. The approach transforms AGG specifications into Bogor models and supports both attributed typed graphs and layered transformations. Resulting models are amenable to check interesting properties expressed as combinations of LTL (Linear Temporal Logic) and g...
We investigate the satisability problem for metric temporal logic (MTL) with both past and future operators over linear discrete bi-innite time models isomorphic to the integer numbers, where time is unbounded both in the future and in the past. We provide a technique to reduce satisability over the integers to satisability over the well- known mon...
In open multi-agent systems (MASs) we cannot assume agents to be developed in a centralized fashion. Recent proposals of commitment-based
communication frameworks aim at increasing such openness. Interaction with agents whose behavior does not follow a universal
standard raises the need for some means of protection for each agent. In this work we p...
Web services support software architectures that can evolve dynamically. In particular, in this paper the focus is on architectures where services are composed (orchestrated) through a workflow described in the business process execution language (BPEL). It is assumed that the resulting composite service refers to external services through assertio...
Message Sequence Charts (MSCs) and High-level Message Sequence Charts (HMSC)
are formalisms used to describe scenarios of message passing protocols.
We propose using Allen's logic to study the temporal order of the messages.
We introduce the concept of {\em discord} to quantify the order discrepancies
between messages in different nodes of an HMSC...
We present Trio2Promela, a tool for model checking TRIO specifications by means of Spin. TRIO is a linear-time temporal logic
with both future and past operators and a quantitative metric on time. Our approach is based on the translation of TRIO formulae
into Promela programs guided by equivalence between TRIO and alternating Büchi automata. Trio2P...
In the past few years two research groups of Politecnico di Milano, whose activities were centered on Formal Methods for the
production of critical software and on industrial manufacturing systems, respectively, have carried out a joint research project
that, among other things, aimed at introducing the use of formal methods in the design and analy...