Searcharxiv⌕ Search

arXiv subjects

Camille Salinesi

Publications and source records attributed to Camille Salinesi.

16 recordsLinked to original sources

CRiDiT: Instantiating a run-time testbed for trust calibration in AI-infused systems

The integration of AI into larger technical infrastructures has made the alignment of human trust with system trustworthiness, known as trust calibration, a critical engineering concern, since misplaced trust in either direction leads to operational and safety risks. While conceptual frameworks provide a strong foundation for understanding trust calibration, their translation into running systems remains a challenge, because there are few testbeds in which human trust inputs, machine trustworthiness evidence, gap detection and remediation operate together within a closed loop. This paper instantiates CRiDiT (Computational Risk-Sensitive biDirectional Trust) as a run-time testbed, operationalising machine-side trust with Dempster-Shafer Theory and PCR5 redistribution, human-side trust with Subjective Logic, and calibration with a threshold-based trust gap. Following the Design Science Research methodology, we exercise the artifact across three high-stakes scenarios (hiring, financial, legal), producing 144 logged interaction steps across fifteen sessions. The analysis shows that the artifact captures trust calibration dynamics as intended, and reveals three points at which the instantiated policy departs from its design requirements: the machine-side estimate begins from a global benchmark rather than task-relevant evidence; risk-sensitive thresholds do not produce risk-sensitive triggering; and the calibration policy assigns explanatory prompts to over-trust, where corrections narrowed the gap in all 6 observed cases. Since the first two arise from the same design decision, to make the difference of two estimated scalars the calibration criterion, they point toward a common requirement: that the criterion should operate on the evidence rather than on scalars derived from it. The third concerns what follows detection, and shows that the action vocabulary inherited from trust repair does not align with what the interaction logs show to be effective. The work contributes the artifact, a characterisation of its run-time behaviour, and the requirements this characterisation elicits.

cs.HC↗

Multi-Sample Prompting and Actor-Critic Prompt Optimization for Diverse Synthetic Data Generation

High-quality labeled datasets are fundamental for training and evaluating machine learning models, yet domains such as healthcare and Requirements Engineering (RE) face persistent barriers due to data scarcity, privacy constraints, or proprietary restrictions. While Large Language Models (LLMs) offer a promising avenue for Synthetic Data Generation (SDG), LLM-generated data tends to be repetitive and low in diversity, reducing its effectiveness for downstream tasks. Two approaches show potential for addressing this limitation: (1) multi-sample prompting, which generates multiple samples per prompt to reduce repetition, and (2) Prompt with Actor-Critic Editing (PACE), which iteratively refines prompts to maximize diversity. We integrate both mechanisms into Synthline, a Feature Model-based configurable synthetic data generator, and assess their effects on diversity and downstream utility across four RE classification tasks. Multi-sample prompting consistently improves both diversity and utility, with F1-score gains of 6 to 43.8 percentage points. PACE-based prompt optimization consistently improves lexical diversity but produces task-dependent utility effects, revealing the risks of optimizing for diversity alone. Most notably, synthetic data can match or surpass human-authored data for tasks where real labeled data is limited, with improvements of up to 15.4 percentage points in F1-score.

cs.SE↗

Synthline: A Product Line Approach for Synthetic Requirements Engineering Data Generation using Large Language Models

While modern Requirements Engineering (RE) heavily relies on natural language processing and Machine Learning (ML) techniques, their effectiveness is limited by the scarcity of high-quality datasets. This paper introduces Synthline, a Product Line (PL) approach that leverages Large Language Models to systematically generate synthetic RE data for classification-based use cases. Through an empirical evaluation conducted in the context of using ML for the identification of requirements specification defects, we investigated both the diversity of the generated data and its utility for training downstream models. Our analysis reveals that while synthetic datasets exhibit less diversity than real data, they are good enough to serve as viable training resources. Moreover, our evaluation shows that combining synthetic and real data leads to substantial performance improvements. Specifically, hybrid approaches achieve up to 85% improvement in precision and a 2x increase in recall compared to models trained exclusively on real data. These findings demonstrate the potential of PL-based synthetic data generation to address data scarcity in RE. We make both our implementation and generated datasets publicly available to support reproducibility and advancement in the field.

cs.SE↗

Which AI Technique Is Better to Classify Requirements? An Experiment with SVM, LSTM, and ChatGPT

Recently, Large Language Models like ChatGPT have demonstrated remarkable proficiency in various Natural Language Processing tasks. Their application in Requirements Engineering, especially in requirements classification, has gained increasing interest. This paper reports an extensive empirical evaluation of two ChatGPT models, specifically gpt-3.5-turbo, and gpt-4 in both zero-shot and few-shot settings for requirements classification. The question arises as to how these models compare to traditional classification methods, specifically Support Vector Machine and Long Short-Term Memory. Based on five different datasets, our results show that there is no single best technique for all types of requirement classes. Interestingly, the few-shot setting has been found to be beneficial primarily in scenarios where zero-shot results are significantly low.

cs.AI↗

Using Integer Constraint Solving in Reuse Based Requirements Engineering

Product Lines (PL) have proved an effective approach to reuse-based systems development. Several modeling languages were proposed so far to specify PL. Although they can be very different, these languages show two common features: they emphasize (a) variability, and (b) the specification of constraints to define acceptable configurations. It is now widely acknowledged that configuring a product can be considered as a constraint satisfaction problem. It is thus natural to consider constraint programming as a first choice candidate to specify constraints on PL. For instance, the different constraints that can be specified using the FODA language can easily be expressed using boolean constraints, which enables automated calculation and configuration using a SAT solver. But constraint programming proposes other domains than the boolean domain: for instance integers, real, or sets. The integer domain was, for instance, proposed by Benavides to specify constraints on feature attributes. This paper proposes to further explore the use of integer constraint programming to specify PL constraints. The approach was implemented in a prototype tool. Its use in a real case showed that constraint programming encompasses different PL modeling languages (such as FORE, OVM, or else), and allows specifying complex constraints that are difficult to specify with these languages.

cs.SE↗

Deriving Product Line Requirements: the RED-PL Guidance Approach

Product lines (PL) modeling have proven to be an effective approach to reuse in software development.Several variability approaches were developed to plan requirements reuse, but only little of them actuallyaddress the issue of deriving product requirements.This paper presents a method, RED-PL that intends to support requirements derivation. The originality ofthe proposed approach is that (i) it is user-oriented, (ii) it guides product requirements elicitation andderivation as a decision making activity, and (iii) it provides systematic and interactive guidance assistinganalysts in taking decisions about requirements. The RED-PL methodological process was validatedin an industrial setting by considering the requirement engineering phase of a product line of blood analyzers.

cs.SE↗

Using Software Product Lines to Create Blockchain Products: Application to Supply Chain Traceability

In recent years, blockchain has been growing rapidly from a niche technology to a promising solution for many sectors, due to its unique properties that empower the design of innovative applications. Nevertheless, the development of blockchain applications is still a challenge. Due to the technological novelty, only a few developers are familiar with blockchain technologies and smart contracts. Others might face a steep learning curve or difficulties to reuse existing code to build blockchain applications. This study proposes a novel approach to tackle these issues, through software product line engineering. To support the approach, a web platform to configure and generate a blockchain application for on-chain traceability is introduced. First, a feature model has been designed to model core features of the chosen domain, based on the existing literature. Then, a configurator has been implemented to support the feature selection phase. Finally, a generator is able to ingest such configurations to generate on-the-shelf blockchain products. The generalizability of the contribution is validated by reproducing on-chain traceability applications proposed in the literature by using the platform. This work provides the first evidence that the implementation of blockchain applications using software product lines enhances the quality of produced applications and reduces the time to market.

cs.SE↗

Harmonica: A Framework for Semi-automated Design and Implementation of Blockchain Applications

Designing blockchain-based applications is a tedious task. Compared to traditional software engineering, software architects cannot rely on previous experiences or proven practices, often formalized as software patterns. Also, the selection of an adequate blockchain technology is difficult without deep knowledge of the technology. This paper introduces Harmonica, a framework for the design and implementation of a blockchain-based application. This framework is divided in three parts: a decision-making engine to recommend a blockchain technology and blockchain-based software patterns relying on requirements, a configurator to generate code stubs and configuration files, and a knowledge base to support those tools.

cs.SE↗

Blockchain software patterns for the design of decentralized applications: A systematic literature review

A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software. Using patterns is a common practice for software architects to ensure software quality. Many pattern collections have been proposed for a large number of application domains. However, because of the technology's recentness, there are only a few available collections with a lack of extensive testing in industrial blockchain applications. It is also difficult for software architects to adequately apply blockchain patterns in their applications, as it requires deep knowledge of blockchain technology. Through a systematic literature review, this paper has identified 120 unique blockchain-related patterns and proposes a pattern taxonomy composed of multiple categories, built from the extracted pattern collection. The purpose of this collection is to map, classify, and describe all available patterns across the literature to help readers make adequate decisions regarding blockchain pattern selection. This study also shows potential applications of those patterns and identifies the relationships between blockchain patterns and other non-blockchain software patterns.

cs.SE↗

A blockchain-based pattern for confidential and pseudo-anonymous contract enforcement

Blockchain has been praised for its capacity to hold data in a decentralized and tamper-proof way. It also supports the execution of code through blockchain's smart contracts, adding automation of actions to the network with high trustability. However, as smart contracts are visible by anybody on the network, the business data and logic may be at risk, thus companies could be reluctant to use such technology. This paper aims to propose a pattern that allows the execution of automatable legal contract clauses, where its execution states are stored in an on-chain smart-contract and the logic needed to enforce it wraps it off-chain. An engine completes this pattern by running a business process that corresponds to the legal contract. We then propose a pattern-based solution based on a real-life use case: transportation of refrigerated goods. We argue that this pattern guarantees companies pseudonymity and data confidentiality while ensuring that an audit trail can be reconstituted through the blockchain smart-contract to identify misbehavior or errors. This paper paves the way for a future possible implementation of the solution described, as well as its evaluation.

cs.CR↗

Which Blockchain to choose? A decision support tool to guide the choice of a Blockchain technology

Companies trying to build new solutions using blockchain are confronted with a plethora of available concurrent technologies that have many control knobs which require fine-tuning by experts. Exiting studies that build decision models for blockchain adoption or selection lack an automated way to use non-functional requirements to provide recommendations. In this paper, we build a knowledge base for blockchain solutions by analyzing whitepapers and studies, but also our benchmark results performed in a controlled environment. Then, we implement a Multi-Criterion Decision Analysis method to determine the most suitable blockchain solution from companies provided requirements and preferences. Finally, we illustrate our approach by running the decision process on a realistic supply-chain use case. This paper provides a rationale for blockchain deployment choices. While still limited in scope, we plan to include more blockchain alternative and more flexible requirements inputs in future work.

cs.CR↗

Designing a Framework for Smart IoT Adaptations

The Internet of Things (IoT) is the science of connecting multiple devices that coordinate to provide the service in question. IoT environments are complex, dynamic, rapidly changing and resource constrained. Therefore, proactively adapting devices to align with context fluctuations becomes a concern. To propose suitable configurations, it should be possible to sense information from devices, analyze the data and reconfigure them accordingly. Applied in the service of the environment, a fleet of devices can monitor environment indicators and control it in order to propose best fit solutions or prevent risks like over consumption of resources (e.g., water and energy). This paper describes our methodology in designing a framework for the monitoring and multi-instantiation of fleets of connected objects. First by identifying the particularities of the fleet, then by specifying connected object as a Dynamic Software Product Line (DSPL), capable of readjusting while running.

cs.SE↗

The Karlskrona manifesto for sustainability design

Sustainability is a central concern for our society, and software systems increasingly play a central role in it. As designers of software technology, we cause change and are responsible for the effects of our design choices. We recognize that there is a rapidly increasing awareness of the fundamental need and desire for a more sustainable world, and there is a lot of genuine goodwill. However, this alone will be ineffective unless we come to understand and address our persistent misperceptions. The Karlskrona Manifesto for Sustainability Design aims to initiate a much needed conversation in and beyond the software community by highlighting such perceptions and proposing a set of fundamental principles for sustainability design.

cs.SE↗

Combining configuration and recommendation to define an interactive product line configuration approach

This paper is interested in e-commerce for complex configurable products/systems. In e-commerce, satisfying the customer needs is a vital concern. One particular way to achieve this is to offer customers a panel of options among which they can select their preferred ones. While solution exists, they are not adapted for highly complex configurable systems such as product lines. This paper proposes an approach that combines two complementary forms of guidance: configuration and recommendation, to help customers define their own products out of a product line specification. The proposed approach, called interactive configuration supports the combination by organizing the configuration process in a series of partial configurations where decisions are made by the recommendation.

cs.OH↗

Method Chunks Selection by Multicriteria Techniques: an Extension of the Assembly-based Approach

The work presented in this paper is related to the area of situational method engineering (SME). In this domain, approaches are developed accordingly to specific project specifications. We propose to adapt an existing method construction process, namely the assembly-based one. One of the particular features of assembly-based SME approach is the selection of method chunks. Our proposal is to offer a better guidance in the retrieval of chunks by the introduction of multicriteria techniques. To use them efficiently, we defined a typology of projects characteristics, in order to identify all their critical aspects, which will offer a priorisation to help the method engineer in the choice between similar chunks.

cs.SE↗

Improving Software Development Processes with Multicriteria Methods

All software development processes include steps where several alternatives induce a choice, a decision-making. Sometimes, methodologies offer a way to make decisions. However, in a lot of cases, the arguments to carry out the decision are very poor and the choice is made in an intuitive and hazardous way. The aim of our work is to offer a scientifically founded way to guide the engineer through tactical choices with the application of multicriteria methods in software development processes. This approach is illustrated with three cases: risks, use cases and tools within Rational Unified Process.

cs.SE↗