Task-based chatbots are software, typically embedded in real-world applications, that assist users in completing tasks through a conversational interface. As chatbots are gaining popularity, effectively assessing their quality has become crucial. Whereas traditional testing techniques fail to systematically exercise the conversational space of chatbots, several approaches specifically targeting chatbots have emerged from both industry and research. Although these techniques have shown advancements over the years, they still exhibit limitations, such as simplicity of the generated test scenarios and weakness in implemented oracles. In this paper, we conduct a confirmatory study to investigate such limitations by evaluating the effectiveness of state-of-the-art chatbot testing techniques on a curated selection of task-based chatbots from GitHub, developed using the most popular commercial and open-source platforms.
Previous research has demonstrated the potential of using pre-trained language models for decoding open vocabulary Electroencephalography (EEG) signals captured through a non-invasive Brain-Computer Interface (BCI). However, the impact of embedding EEG signals in the context of language models and the effect of subjectivity, remain unexplored, leading to uncertainty about the best approach to enhance decoding performance. Additionally, current evaluation metrics used to assess decoding effectiveness are predominantly syntactic and do not provide insights into the comprehensibility of the decoded output for human understanding. We present an end-to-end architecture for non-invasive brain recordings that brings modern representational learning approaches to neuroscience. Our proposal introduces the following innovations: 1) an end-to-end deep learning architecture for open vocabulary EEG decoding, incorporating a subject-dependent representation learning module for raw EEG encoding, a BART language model, and a GPT-4 sentence refinement module; 2) a more comprehensive sentence-level evaluation metric based on the BERTScore; 3) an ablation study that analyses the contributions of each module within our proposal, providing valuable insights for future research. We evaluate our approach on two publicly available datasets, ZuCo v1.0 and v2.0, comprising EEG recordings of 30 subjects engaged in natural reading tasks. Our model achieves a BLEU-1 score of 42.75%, a ROUGE-1-F of 33.28%, and a BERTScore-F of 53.86%, achieving an increment over the previous state-of-the-art by 1.40%, 2.59%, and 3.20%, respectively.
AI-driven code generation is evolving from handling small, localized code-completion tasks toward supporting the implementation of full software features. To support this transition, this paper introduces PR4Code, a dataset of 4,508 Java and 8,831 Python curated Pull Requests (PRs) collected from GitHub, each enriched with metadata, commit histories, and detailed code changes. Unlike resources focused on isolated code fragments, PR4Code captures the feature implementation process, delivering a large and diverse collection of challenging development tasks that can be used to assess and train AI-driven solutions. Our preliminary analysis reveals substantial variability in PR structure, commit granularity, and textual content. In addition, we release scripts to regenerate and update the dataset, ensuring reproducibility and maintainability.
Brain-computer interfaces (BCIs) establish a direct neural link between the brain and external devices, enabling groundbreaking applications in motor imagery (MI)—a process in which individuals mentally simulate movements without physical execution. While non-invasive consumer BCI devices are gaining popularity, their effectiveness is often constrained by limited spatial and temporal resolution. This paper introduces WavEEGNet, a novel deep-learning approach for Electroencephalography (EEG)-based motor imagery classification. The proposed neural architecture consists of two stages: first, multiple convolutional encoders independently extract temporal and spatial features from four EEG frequency bands (delta, theta, alpha, and beta); second, a convolutional neural network with residual connections integrates these features to enhance classification performance. Processing each frequency band separately allows the model to capture distinct neurophysiological patterns associated with motor imagery, minimizing interference across bands and improving feature representation. The approach was evaluated on a dataset from a wearable BCI equipped with eight dry electrodes, offering a non-invasive and cost-effective solution for real-world applications. Our method achieved an accuracy improvement of over 10
In recent years, chatbots have gained widespread adoption thanks to their ability to assist users at any time and across diverse domains. However, the lack of large-scale curated datasets limits research on their quality and reliability. This paper presents TOFU-D, a snapshot of 1,788 Dialogflow chatbots from GitHub, and COD, a curated subset of TOFU-D including 185 validated chatbots. The two datasets capture a wide range of domains, languages, and implementation patterns, offering a sound basis for empirical studies on chatbot quality and security. A preliminary assessment using the Botium testing framework and the Bandit static analyzer revealed gaps in test coverage and frequent security vulnerabilities in several chatbots, highlighting the need for systematic, multi-Platform research on chatbot quality and security.
Bug reporting is a key feature of mobile applications, as it enables developers to collect information about faults that escaped testing and thus affected end-users. This paper explores the idea of allowing end-users to immediately report the problems that they experience by recording and submitting audio messages. Audio recording is simple to implement and has the potential to increase the number of bug reports that development teams can gather, thus potentially improving the rate at which bugs are identified and fixed. However, audio bug reports exhibit specific characteristics that challenge existing techniques for reproducing bugs. This paper discusses these challenges based on a preliminary experiment, and motivates further research on the collection and analysis of audio-based bug reports
Machine learning techniques have proven to be effective in human activity recognition (HAR) from inertial signals. However, they often suffer from intra-class variability and inter-class similarity problems due to strong differences among individuals and in how they perform activities. Recently, data-centric approaches have demonstrated efficacy; however, they require extensive datasets encompassing numerous readings across multiple subjects, incurring significant costs during acquisition campaigns. This study introduces a novel homogenization procedure to address dataset heterogeneity in HAR, enabling the integration of diverse datasets into a unified framework. Using eight publicly available HAR datasets, we evaluated the performance of two neural network architectures, a simplified convolutional neural network (S-CNN) and a long short-term memory (LSTM) network. The proposed method reduces the F1-score gap with baseline models from 24.3 to 7.8% on average, reflecting a relative improvement of 16.5%. Additionally, fine-tuning improves model adaptability, achieving a 2.5% accuracy increase for new users. These findings highlight the feasibility of data-centric strategies for robust HAR systems. In particular, the merging procedure, combined with fine-tuning techniques, confirms that diverse data sources and appropriate adaptation methods can yield performance outcomes closely resembling those of the original datasets. Our methodology has been implemented in the continual learning platform (CLP), which has been made available to the scientific community to facilitate future research and applications.
Wayfinding platforms help users navigate both indoor and outdoor environments in real-time. Many existing systems primarily optimize either distance or time, neglecting other important factors such as personal comfort, perception of safety, or emotional responses to the environment. To overcome these limitations, we designed WizRD, a new wayfinding platform that allows users to express their preferences and obtain routes that optimize them. This is made possible by the fact that WizRD can automatically acquire and integrate new data sources, also enabling the definition of customized routing algorithms that take into account both data sources and user preferences. In addition, to support decisionmaking, WizRD includes a visualization dashboard that facilitates users' understanding of how different environmental factors affect the recommended routes. Finally, the platform supports multimodal navigation by integrating vehicle interchange stations called LUMIs. A prototype implementation developed for the area around the University of Milano-Bicocca demonstrates the platform's ability to handle multimodal navigation and to address the specific needs of vulnerable people, such as the ones with impaired mobility, women, and children.
The integration of AI assistants into software development workflows is rapidly evolving, shifting from automation-assisted tasks to collaborative interactions between developers and AI. Large Language Models (LLMs) have demonstrated their effectiveness in several development activities, including code completion, test case generation, and documentation production. However, embedding AI-assisted tasks within Integrated Development Environments (IDEs) presents significant challenges. It requires designing mechanisms to invoke AI assistants at the appropriate time, coordinate interactions with multiple assistants, process the generated outputs, and present feedback in a way that seamlessly integrates with the development workflow. To address these issues, we introduce MultiMind, a Visual Studio Code plug-in that streamlines the creation of AI-assisted development tasks. MultiMind provides a modular and extensible framework, enabling developers to cost-effectively implement and experiment with new AI-powered interactions without the need for complex IDE customizations. MultiMind has been tested in two use cases: one for the automatic generation of code comments and the other about the definition of AI-powered chat.
Electroencephalography (EEG) is a non-invasive technique that records brain electrical activity, providing critical insights into neural processes. In recent years, EEG has become integral to brain-computer interface (BCI) research. BCIs enhance human-computer interaction, support assistive solutions for people with disabilities, and enable novel clinical applications. Research in EEG-based BCIs involves several key components: signal acquisition, preprocessing, feature extraction, and classification. Advanced machine learning models, especially those that emphasize personalized and incremental learning approaches, are used to effectively decode EEG signals. This personalization accounts for individual variability and significantly improves model accuracy and robustness. Applications of EEG-based BCIs include emotion recognition, motor imagery for robot control, and EEG-to-text decoding. These applications use EEG signals to make significant advances in their respective fields. Emotion recognition improves human-computer interaction and mental health monitoring; motor imagery enables intuitive robotic control that assists individuals with motor impairments; and EEG-to-text decoding provides new communication pathways for people with severe disabilities. Despite promising advances, challenges such as signal variability, noise, and the need for sophisticated preprocessing techniques remain. Future research should prioritize interdisciplinary collaboration and technological advancements to overcome these challenges, thereby enabling EEG-based BCIs to achieve broader applicability and significantly impact various aspects of human life.
A few years after their release, Large Language Models (LLMs)-based tools are becoming an essential component of software education, as calculators are used in math courses. When learning software engineering (SE), the challenge is the extent to which LLMs are suitable and easy to use for different software development tasks. In this paper, we report the findings and lessons learned from using LLM-based tools-ChatGPT in particular-in five SE courses from four universities. After instructing students on the LLM potentials in SE and about prompting strategies, we ask participants to complete a survey and be involved in semi-structured interviews. The collected results report (i) indications about the usefulness of the LLM for different tasks, (ii) challenges to prompt the LLM, i.e., interact with it, (iii) challenges to adapt the generated artifacts to their own needs, and (iv) wishes about some valuable features students would like to see in LLM-based tools. Although results vary among different courses, also because of students' seniority and course goals, the perceived usefulness is greater for lowlevel phases (e.g., coding or debugging/fault localization) than for analysis and design phases. Interaction and code adaptation challenges vary among tasks and are mostly related to the need for task-specific prompts, as well as better specification of the development context.
Internet of Medical Things (IoMT) is a rapidly evolving field with the potential to bring significant changes to healthcare. While several surveys have examined the structure and operation of these systems, critical aspects such as interoperability, sustainability, security, runtime self-adaptation, and configurability are sometimes overlooked. Interoperability is essential for integrating data from various devices and platforms to provide a comprehensive view of a patient’s health. Sustainability addresses the environmental impact of IoMT technologies, crucial in the context of green computing. Security ensures the protection of sensitive patient data from breaches and manipulation. Runtime self-adaptation allows systems to adjust to changing patient conditions and environments. Configurability enables IoMT frameworks to monitor diverse patient conditions and manage different treatment paths. This article reviews current techniques addressing these aspects and highlights areas requiring further research.
Digital Twin of Processes, also defined as process digital twins (PDTs), are emerging as a feasible solution for modeling, monitoring, and optimizing business processes by providing real-time, data-driven insights into operational workflows. However, designing, developing, and maintaining PDTs can be complex and resource-intensive, often requiring highly specialized expertise in software engineering and domain-specific processes. This paper proposes insights and guidelines into using low-code development platforms (LCDPs) to simplify and expedite the modeling and deployment of PDTs, leveraging intuitive, visual development environments and pre-built components. We identified 11 core characteristics that define PDTs and assessed the potential of LCDPs to support their design, development, and execution. The applicability of this framework is demonstrated through three case studies of littering management, order management, and guest invitations, where we evaluate how well LCDPs address the key requirements of PDT implementation. Our results indicate that while LCDPs offer significant advantages in terms of ease of adoption and cost efficiency, several challenges remain, particularly around scalability and process performance. At the same time, we propose lessons learned from these experiences that could help address these challenges in future implementations.
AI assistants can help developers by recommending code to be included in their implementations (e.g., suggesting the implementation of a method from its signature). Although useful, these recommendations may mirror copyleft code available in public repositories, exposing developers to the risk of reusing code that they are allowed to reuse only under certain constraints (e.g., a specific license for the derivative software). This paper presents a large-scale study about the frequency and magnitude of this phenomenon in ChatGPT. In particular, we generate more than 70,000 method implementations using a range of configurations and prompts, revealing that a larger context increases the likelihood of reproducing copyleft code, but higher temperature settings can mitigate this issue.
Leveraging LLMs for code generation is becoming increasingly common, as tools like ChatGPT can suggest method implementations with minimal input, such as a method signature and brief description. Empirical studies further highlight the effectiveness of LLMs in handling such tasks, demonstrating notable performance in code generation scenarios. However, LLMs are inherently non-deterministic, with their output influenced by parameters such as temperature, which regulates the model's level of creativity, and top-p, which controls the choice of the tokens that shall appear in the output. Despite their significance, the role of these parameters is often overlooked. This paper systematically studies the impact of these parameters, as well as the number of prompt repetitions required to account for non-determinism, in the context of 548 Java methods. We observe significantly different performances across different configurations of ChatGPT, with temperature having a marginal impact compared to the more prominent influence of the top-p parameter. Additionally, we show how creativity can enhance code generation tasks. Finally, we provide concrete recommendations for addressing the non-determinism of the model.
Task-based chatbots are increasingly being used to deliver real services, yet assessing their reliability, security, and robustness remains underexplored, also due to the lack of large-scale, high-quality datasets. The emerging automated quality assessment techniques targeting chatbots often rely on limited pools of subjects, such as custom-made toy examples, or outdated, no longer available, or scarcely popular agents, complicating the evaluation of such techniques. In this paper, we present two datasets and the tool support necessary to create and maintain these datasets. The first dataset is RASA TASK-BASED CHATBOTS FROM GITHUB (TOFU-R), which is a snapshot of the Rasa chatbots available on GitHub, representing the state of the practice in open-source chatbot development with Rasa. The second dataset is BOT RASA COLLECTION (BRASATO), a curated selection of the most relevant chatbots for dialogue complexity, functional complexity, and utility, whose goal is to ease reproducibility and facilitate research on chatbot reliability.
Chatbots, also known as conversational agents, have become ubiquitous, offering services for a multitude of domains. Unlike general-purpose chatbots, task-based chatbots are software designed to prioritize the completion of tasks of the domain they handle (e.g., flight booking). Given the growing popularity of chatbots, testing techniques that can generate full conversations as test cases have emerged. Still, thoroughly testing all the possible conversational scenarios implemented by a task-based chatbot is challenging, resulting in incorrect behaviors that may remain unnoticed. To address this challenge, we proposed MUTABOT, a mutation testing approach for injecting faults in conversations and producing faulty chatbots that emulate defects that may affect the conversational aspects. In this paper, we present our extension of MUTABOT to multiple platforms (Dialogflow and Rasa), and present experiments that show how mutation testing can be used to reveal weaknesses in test suites generated by the Botium state-of-the-art test generator.
Littering is a major problem that threatens the environment, society, and economy. Keep track, monitor and regularly clean littering sites can be a crucial problem that involves public authorities, municipalities, companies, and citizens. So far approaches have not well leveraged the knowledge and capabilities that derive from the federation of multiple communities, such as cities, public bodies, and organizations. In this paper, we describe the COBOL project, a National PRIN (Progetti di Rilevante Interesse Nazionale) PNRR (Piano Nazionale Ripresa e Resilienza) project funded by the Italian MUR (Ministero dell'Universita e della Ricerca) in 2023. The project aims to definite a flexible framework for managing the waste disposal process through a federated learning architecture that collects and integrates the reports (e.g., annotated pictures and user feedback) shared by the communities involved in the waste disposal process. To deliver an advanced waste disposal service based on the direct participation of citizens, COBOL also integrates Model-Driven Engineering principles, Computer Vision techniques, and Self-Adaptation mechanisms. Early results show that reports can be effectively collected and processed with COBOL.
Littering is an environmental problem that affects citizens' economy, safety, and health. Natural and rural areas are often targets of abandoned littering, while urban areas often accumulate more waste than can be disposed of in a timely manner. Minimizing littering and waste is a critical sustainability challenge requiring the cooperation of different professionals and agencies. In this paper, we report our vision and preliminary proposal for a model-driven approach to address the automated localization and identification of abandoned waste. Our solution envisages the usage of digital process twins to enable the specification of cost-effective and self-adaptive procedures fed by data crowdsourced from the real world.
AI-based code assistants are promising tools that can facilitate and speed up code development. They exploit machine learning algorithms and natural language processing to interact with developers, suggesting code snippets (e.g., method implementations) that can be incorporated into projects. Recent studies empirically investigated the effectiveness of code assistants using simple exemplary problems (e.g., the re-implementation of well-known algorithms), which fail to capture the spectrum and nature of the tasks actually faced by developers. In this paper, we expand the knowledge in the area by comparatively assessing four popular AI-based code assistants, namely GitHub Copilot, Tabnine, ChatGPT, and Google Bard, with a dataset of 100 methods that we constructed from real-life open-source Java projects, considering a variety of cases for complexity and dependency from contextual elements. Results show that Copilot is often more accurate than other techniques, yet none of the assistants is completely subsumed by the rest of the approaches. Interestingly, the effectiveness of these solutions dramatically decreases when dealing with dependencies outside the boundaries of single classes.
Fabrizio Pastore合作论文数University of Milano-Bicocca, Italy4
Domenico G. Sorrenti合作论文数Dip. Informatica, Sistemistica e Comunicazione of Universita di Milano - Bicocca3