Eduard Paul Enoiu

dblp:119/1657 · also Eduard Enoiu · DBLP profile ↗
← Back
39ranked-venue papers
9as first author
25since 2021 · last 2025
0000-0003-2416-4205ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 35 · 8 first-author · 22 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 4 since 2021Artificial intelligence and machine learning · 2 · 1 since 2021Systems, architecture and hardware · 2 · 2 since 2021Security and privacy · 1 · 1 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021Theory of computation · 1 · 1 since 2021
YearPublicationVenuePosition
2025 PyLC+: A Scalable Python Framework for Automated Translation and Testing of Industrial PLC Programs
abstract
As industrial PLC programs become more complex, automated testing and verification methods are needed to ensure their reliability and correctness. This paper presents PyLC+, a modular framework that translates PLC programs into Python, allowing for automated AI-driven test generation. PyLC+ builds upon our previous work, addressing limitations by adopting a class-based modular architecture that improves the tool’s scalability, maintainability, and extensibility. This structural refinement eliminates reliance on nested functions, facilitating the translation of large-scale, real-world PLC programs while maintaining precise use of cyclic execution. Furthermore, PyLC+ introduces automated handling of stateful FBs, ensuring compliance with IEC 61131-3 execution semantics.Additionally, the tool proposes integrating LLM-driven test generation with search-based test generation to improve the efficiency and effectiveness of testing PLC software. We tested PyLC+ in a large-scale company developing train control systems, demonstrating its efficiency and effectiveness in handling complex industrial PLC programs.
Mikael Ebrahimi Salari, Eduard Paul Enoiu, Alessio Bucaioni, Wasif Afzal, Cristina Cerschi Seceleanu
COMPSAC2
2025 Gaps in Software Testing Education: A Survey of Academic Courses in Sweden
abstract
A cross-sectional, questionnaire-based survey of software testing courses offered at Swedish universities was undertaken in the final quarter of 2023. With a return rate of 44%, the survey delved into the contents of these software testing courses to gain an understanding of how the courses differ in terms of depth and breadth of content. Information was also sought about administrative and course planning activities related to the courses. Some key findings are that there is in-depth coverage of unit testing in all the courses, with none of the courses offering in-depth testing of other test levels such as acceptance testing. Also notable is the difference in test types. As an example, functional testing is taught in-depth in all the courses, while accessibility testing is not taught at all in half of the courses. It is suggested that a greater range of software testing topics is needed in future education if more stakeholders, such as business analysts and software developers, not just software testers, are to have a quality-centred approach to software development.
Ayodele A. Barrett, Eduard Paul Enoiu, Wasif Afzal
CSEE&T2
2025 Passive Testing of Vehicular Embedded Systems: An Industrial Case Study with T-EARS and Napkin Studio
abstract
Abstract Passive testing is an approach to verify system behavior by observing logs from normal operation, without actively injecting test stimuli. This paper presents an industrial case study of applying passive testing in the domain of vehicular embedded systems, utilizing two specialized tools: Timed Easy Approach to Requirements Syntax (T-EARS) for specifying temporal requirements, and Napkin Studio for evaluating these requirements against real system execution logs. We collaborated with Volvo Construction Equipment (VCE) to translate a set of natural language requirements into structured T-EARS specifications. Then we used Napkin Studio to test these requirements against recorded machine log data passively. We evaluate the feasibility of this approach, the extent to which it can detect requirement violations or injected faults, and the perceptions of industry stakeholders regarding the adoption of such passive tests in their verification process. The results show that a majority of functional requirements can be expressed as Guarded Assertions (GAs) and validated on logs, uncovering specific issues. Stakeholders found the method promising for improving test coverage and efficiency, although integration challenges (e.g., log signal inconsistencies and tool usability issues) were noted. Overall, this work provides empirical evidence that passive testing with T-EARS and Napkin Studio can complement traditional hardware-in-the-loop testing, offering a scalable and non-intrusive verification approach in developing vehicular systems.
Aleksandra Nicaj, Daniel Flemström, Eduard Paul Enoiu, Wasif Afzal
ICTSS3
2024 Unveiling Cognitive Biases in Software Testing: Insights from a Survey and Controlled Experiment
abstract
Biases are hard-wired behaviours that influence software testers. Understanding how these biases affect testers' everyday behaviour is crucial for developing practical software tools and strategies to help testers avoid the pitfalls of cognitive biases. This research aims to assess the extent to which software testers know the influence of cognitive biases on their work. Our study was conducted in two incremental steps: a survey and a controlled experiment. Firstly, we developed a questionnaire survey designed to reveal the extent of software testers' knowledge about cognitive biases and their awareness of these biases' influence on testing. We contacted software professionals in different environments and gathered valid data from 60 practitioners. The survey results suggest that software professionals are aware of biases, specifically preconceptions such as confirmation bias, fixation, and convenience. Additionally, biases like optimism, ownership, and blissful ignorance were commonly recognized. In line with other research, we observed that software professionals tend to identify more cognitive biases in others than in their judgments and actions, indicating a vulnerability to bias blind spot. To build on these findings, we performed a controlled experiment with 12 participants to investigate the behaviour and biases exhibited by humans when attempting to solve a hypothetical test problem. Through thematic analysis, we identified prevalent biases such as confirmation bias, pattern recognition and overreliance, sunk cost fallacy, and anchoring bias among participants. Additionally, we found that collaborative problem-solving was a prominent feature, often leading to biases like groupthink.
Eduard Paul Enoiu, Alexandru Cusmaru, Jean Malm
APSEC1
2024 Similarities and Overlaps in Operational Scenarios - A Study of Legacy Industrial Products in the Railway Vehicle Domain
abstract
When seeking to enhance reuse, industrial enter-prises delivering complex electro-mechanical products to large global customers face various technical challenges in their engi-neering practice. Many challenges are due to the many-faceted and rich variability that naturally arises in such a context. We focus our attention on the requirements engineering process. This paper presents the results from a case study investigating reuse potential by analyzing legacy use cases and scenarios data for six selected railway vehicle products for customers in three product segments and on two main markets. Through our analysis, fifteen scenario clusters were identified, covering 74% of all scenarios in the products. We also found a significant overlap between products in 13 of the clusters and a considerable variation in the degrees of overlap in the clusters. We initially anticipated that this overlap would align with the product segments, but our results suggest otherwise.
Henrik Gustavsson, Jan Carlson, Eduard Paul Enoiu, David Lindgren
SEAA3
2024 Synthesis and Verification of Mission Plans for Multiple Autonomous Agents under Complex Road Conditions
abstract
Mission planning for multi-agent autonomous systems aims to generate feasible and optimal mission plans that satisfy given requirements. In this article, we propose a tool-supported mission-planning methodology that combines (i) a path-planning algorithm for synthesizing path plans that are safe in environments with complex road conditions, and (ii) a task-scheduling method for synthesizing task plans that schedule the tasks in the right and fastest order, taking into account the planned paths. The task-scheduling method is based on model checking, which provides means of automatically generating task execution orders that satisfy the requirements and ensure the correctness and efficiency of the plans by construction. We implement our approach in a tool named MALTA, which offers a user-friendly GUI for configuring mission requirements, a module for path planning, an integration with the model checker UPPAAL, and functions for automatic generation of formal models, and parsing of the execution traces of models. Experiments with the tool demonstrate its applicability and performance in various configurations of an industrial case study of an autonomous quarry. We also show the adaptability of our tool by employing it in a special case of an industrial case study.
Rong Gu 0002, Eduard Baranov, Afshin Ameri, Cristina Cerschi Seceleanu, Eduard Paul Enoiu, Baran Çürüklü, Axel Legay, Kristina Lundqvist
ACM Trans. Softw. Eng. Methodol.5
2023 VeriDevOps Software Methodology: Security Verification and Validation for DevOps Practices
abstract
VeriDevOps offers a methodology and a set of integrated mechanisms that significantly improve automation in DevOps to protect systems at operations time and prevent security issues at development time by (1) specifying security requirements, (2) generating trace monitors, (3) locating root causes of vulnerabilities, and (4) identifying security flaws in code and designs. This paper presents a methodology that enhances productivity and enables the continuous integration/delivery of trustworthy systems. We outline the methodology, its application to relevant scenarios, and offer recommendations for engineers and managers adopting the VeriDevOps approach. Practitioners applying the VeriDevOps methodology should include security modeling in the DevOps process, integrate security verification throughout all stages, utilize automated test generation tools for security requirements, and implement a comprehensive security monitoring system, with regular review and update procedures to maintain relevance and effectiveness.
Eduard Paul Enoiu, Dragos Truscan, Andrey Sadovykh, Wissam Mallouli
ARES1
2023 Automating Test Generation of Industrial Control Software Through a PLC-to-Python Translation Framework and Pynguin
abstract
Numerous industrial sectors employ Programmable Logic Controllers (PLC) software to control safety-critical systems. These systems necessitate extensive testing and stringent coverage measurements, which can be facilitated by automated test-generation techniques. Existing such techniques have not been applied to PLC programs, and therefore do not directly support the latter regarding automated test-case generation. To address this deficit, in this work, we introduce PyLC, a tool designed to automate the conversion of PLC programs to Python code, assisted by an existing test generator called Pynguin. Our framework is capable of handling PLC programs written in the Function Block Diagram language. To demonstrate its capabilities, we employ PyLC to transform safety-critical programs from industry and illustrate how our approach can facilitate the manual and automatic creation of tests. Our study highlights the efficacy of leveraging Python as an intermediary language to bridge the gap between PLC development tools, Python-based unit testing, and automated test generation.
Mikael Ebrahimi Salari, Eduard Paul Enoiu, Cristina Cerschi Seceleanu, Wasif Afzal, Filip Sebek
APSEC2
2023 An Empirical Evaluation of System-Level Test Effectiveness for Safety-Critical Software
Muhammad Nouman Zafar, Wasif Afzal, Eduard Paul Enoiu
ENASE3
2023 Understanding Problem Solving in Software Testing: An Exploration of Tester Routines and Behavior
Eduard Paul Enoiu, Gregory Gay 0002, Jameel Esber, Robert Feldt
ICTSS1
2023 An Industrial Study on the Challenges and Effects of Diversity-Based Testing in Continuous Integration
abstract
Many test prioritisation techniques have been proposed in order to improve test effectiveness of Continuous Integration (CI) pipelines. Particularly, diversity-based testing (DBT) has shown promising and competitive results to improve test effectiveness. However, the technical and practical challenges of introducing test prioritisation in CI pipelines are rarely discussed, thus hindering the applicability and adoption of those proposed techniques. This research builds on our prior work in which we evaluated diversity-based techniques in an industrial setting. This work investigates the factors that influence the adoption of DBT both in connection to improvements in test cost-effectiveness, as well as the process and human related challenges to transfer and use DBT prioritisation in CI pipelines. We report on a case study considering the CI pipeline of Axis Communications in Sweden. We performed a thematic analysis of a focus group interview with senior practitioners at the company to identify the challenges and perceived benefits of using test prioritisation in their test process. Our thematic analysis reveals a list of ten challenges and seven perceived effects of introducing test prioritisation in CI cycles. For instance, our participants emphasized the importance of introducing comprehensible and transparent techniques that instill trust in its users. Moreover, practitioners prefer techniques compatible with their current test infrastructure (e.g., test framework and environments) in order to reduce instrumentation efforts and avoid disrupting their current setup. In conclusion, we have identified tradeoffs between different test prioritisation techniques pertaining to the technical, process and human aspects of regression testing in CI. We summarize those findings in a list of seven advantages that refer to specific stakeholder interests and describe the effects of adopting DBT in CI pipelines.
Azeem Ahmad, Francisco Gomes de Oliveira Neto, Eduard Paul Enoiu, Kristian Sandahl, Ola Leifler
QRS3
2023 Requirement or Not, That is the Question: A Case from the Railway Industry
Sarmad Bashir, Muhammad Abbas 0002, Mehrdad Saadatmand, Eduard Paul Enoiu, Markus Bohlin, Pernilla Lindberg
REFSQ4
2023 On the relationship between similar requirements and similar software
abstract
Abstract Recommender systems for requirements are typically built on the assumption that similar requirements can be used as proxies to retrieve similar software. When a stakeholder proposes a new requirement, natural language processing (NLP)-based similarity metrics can be exploited to retrieve existing requirements, and in turn, identify previously developed code. Several NLP approaches for similarity computation between requirements are available. However, there is little empirical evidence on their effectiveness for code retrieval. This study compares different NLP approaches, from lexical ones to semantic, deep-learning techniques, and correlates the similarity among requirements with the similarity of their associated software. The evaluation is conducted on real-world requirements from two industrial projects from a railway company. Specifically, the most similar pairs of requirements across two industrial projects are automatically identified using six language models. Then, the trace links between requirements and software are used to identify the software pairs associated with each requirements pair. The software similarity between pairs is then automatically computed with JPLag. Finally, the correlation between requirements similarity and software similarity is evaluated to see which language model shows the highest correlation and is thus more appropriate for code retrieval. In addition, we perform a focus group with members of the company to collect qualitative data. Results show a moderately positive correlation between requirements similarity and software similarity, with the pre-trained deep learning-based BERT language model with preprocessing outperforming the other models. Practitioners confirm that requirements similarity is generally regarded as a proxy for software similarity. However, they also highlight that additional aspect comes into play when deciding software reuse, e.g., domain/project knowledge, information coming from test cases, and trace links. Our work is among the first ones to explore the relationship between requirements and software similarity from a quantitative and qualitative standpoint. This can be useful not only in recommender systems but also in other requirements engineering tasks in which similarity computation is relevant, such as tracing and change impact analysis.
Muhammad Abbas 0002, Alessio Ferrari 0001, Anas Shatnawi, Eduard Paul Enoiu, Mehrdad Saadatmand, Daniel Sundmark
Requir. Eng.4
2022 Combining Model-Based Testing and Automated Analysis of Behavioural Models using GraphWalker and UPPAAL
abstract
Model-based Testing (MBT) has been proposed to create test cases more efficiently and effectively. In contrast, analysis techniques (e.g., model checking) have been used separately from testing and have shown great potential when applied early in the development process. Still, these are confronted by applicability and scalability issues and work on specific modeling languages. The combined use of MBT and analysis techniques can support engineers in using both dynamic and static techniques. This paper proposes a hybrid approach by combining MBT using GraphWalker (GW) with Model-Based Analysis using UPPAAL by transforming the GW model into UPPAAL timed automata and supporting a combined analysis and testing process. The approach enables the automatic verification of both reachability and deadlock freedom properties to exploit the results obtained from this analysis step to improve the test model before generating and executing test cases on the system under test. The proposed approach can improve the combination of analysis and testing using a promising open-source MBT tool and is currently being evaluated in the context of actual use cases.
Saurabh Tiwari 0001, Kumar Iyer, Eduard Paul Enoiu
APSEC3
2022 Evaluating System-Level Test Generation for Industrial Software: A Comparison between Manual, Combinatorial and Model-Based Testing
abstract
Adequate testing of safety-critical systems is vital to ensure correct functional and non-functional operations. Previous research has shown that testing such systems requires a lot of effort, thus automated testing techniques have found a certain degree of success. However, automated testing has not replaced the need for manual testing, rather a common industrial practice exhibits a balance between automated and manual testing. In this respect, comparing manual testing with automated testing techniques continues to be an interesting topic to investigate. The need for this investigation is most apparent at system-level testing of industrial systems, where there is a lack of results on how different testing techniques perform concerning both structural and system-level metrics such as Modified Condition/Decision Coverage (MC/DC) and requirement coverage. In addition to the coverage, the cost of these techniques will also determine their efficiency and thus practical viability. In this paper, we have developed cost models for efficiency measurement and performed an experimental evaluation of manual testing, model-based testing (MBT), and combinatorial testing (CT) in terms of MC/DC and requirement coverage. The evaluation is done in an industrial context of a safety-critical system that controls several functions on-board the passenger trains. We have reported the dominant conditions of MC/DC affected by each technique while generating MC/DC adequate test suites. Moreover, we investigated differences and overlaps of test cases generated by each of the three techniques. The results showed that all test suites achieved 100% requirement coverage except the test suite generated by the pairwise testing strategy. However, MBT-generated test suites were more MC/DC adequate and provided a higher number of both similar and unique test cases. Moreover, unique test cases generated by MBT had an observable effect on MC/DC, which will complement manual testing to increase MC/DC coverage. The least dominant MC/DC condition fulfilled by the generated test cases by all three techniques is the 'independent effect of a condition on the outcomes of a decision'. Lastly, the evaluation also showed CT as the most efficient testing technique amongst the three in terms of time required for test generation and execution, but with an added cost parameter of manual identification of expected outcomes.
Muhammad Nouman Zafar, Wasif Afzal, Eduard Paul Enoiu
AST3
2022 SmartDelta: Automated Quality Assurance and Optimization in Incremental Industrial Software Systems Development
abstract
A common phenomenon in software development is that as a system is being built and incremented with new features, certain quality aspects of the system begin to deteriorate. Therefore, it is important to be able to accurately analyze and determine the quality implications of each change and increment to a system. To address this topic, the multinational SmartDelta project develops automated solutions for quality assessment of product deltas in a continuous engineering environment. The project will provide smart analytics from development artifacts and system executions, offering insights into quality degradation or improvements across different product versions, and providing recommendations for next builds.
Mehrdad Saadatmand, Eduard Paul Enoiu, Holger Schlingloff, Michael Felderer, Wasif Afzal
DSD2
2022 An Evaluation of General-Purpose Static Analysis Tools on C/C++ Test Code
abstract
In recent years, maintaining test code quality has gained more attention due to increased automation and the growing focus on issues caused during this process.Test code may become long and complex, but maintaining its quality is mostly a manual process, that may not scale in big software projects. Moreover, bugs in test code may give a false impression about the correctness or performance of the production code. Static program analysis (SPA) tools are being used to maintain the quality of software projects nowadays. However, these tools are either not used to analyse test code, or any analysis results on the test code are suppressed.This is especially true since SPA tools are not tailored to generate precise warnings on test code. This paper investigates the use of SPA on test code by employing three state-of-the-art general-purpose static analysers on a curated set of projects used in the industry and a random sample of relatively popular and large open-source C/C++ projects. We have found a number of built-in code checking modules that can detect quality issues in the test code. However, these checkers need some tailoring to obtain relevant results. We observed design choices in test frameworks that raise noisy warnings in analysers and propose a set of augmentations to the checkers or the analysis framework to obtain precise warnings from static analysers.
Jean Malm, Eduard Paul Enoiu, Abu Naser Masud, Björn Lisper, Zoltán Porkoláb, Sigrid Eldh
SEAA2
2022 Model-Based System Engineering Adoption in the Vehicular Systems Domain
abstract
As systems continue to increase in complexity, some companies have turned to Model-Based Systems Engineering (MBSE) to address different challenges such as requirement complexity, consistency, traceability, and quality assurance during system development.Consequently, to foster the adoption of MBSE, practitioners need to understand what factors are impeding or promoting success in applying such a method in their existing processes and infrastructure.While many of the existing studies on the adoption of MBSE in specific contexts focus on its applicability, it is unclear what attributes foster a successful adoption of MBSE and what targets the companies are setting.Consequently, practitioners need to understand what adoption strategies are applicable.To shed more light on this topic, we conducted semi-structured interviews with 12 professionals working in the vehicular domain with roles in several MBSE adoption projects.The aim is to investigate their experiences, reasons, targets, and promoting and impeding factors.The obtained data was synthesized using thematic analysis.This study suggests that the reasons for MBSE adoption relate to two main themes: better management of complex engineering tasks and communication between different actors.Furthermore, engagement, activeness and access to expert knowledge are indicated as factors promoting MBSE adoption success, while the lack of MBSE knowledge is an impeding factor for successful adoption.
Henrik Gustavsson, Jan Carlson, Eduard Paul Enoiu
FedCSIS3
2022 Correction to: On the relationship between similar requirements and similar software
Muhammad Abbas 0002, Alessio Ferrari 0001, Anas Shatnawi, Eduard Paul Enoiu, Mehrdad Saadatmand, Daniel Sundmark
Requir. Eng.4
2022 Correctness-guaranteed strategy synthesis and compression for multi-agent autonomous systems
abstract
Planning is a critical function of multi-agent autonomous systems, which includes path finding and task scheduling. Exhaustive search-based methods such as model checking and algorithmic game theory can solve simple instances of multi-agent planning. However, these methods suffer from state-space explosion when the number of agents is large. Learning-based methods can alleviate this problem, but lack a guarantee of correctness of the results. In this paper, we introduce MoCReL, a new version of our previously proposed method that combines model checking with reinforcement learning in solving the planning problem. The approach takes advantage of reinforcement learning to synthesize path plans and task schedules for large numbers of autonomous agents, and of model checking to verify the correctness of the synthesized strategies. Further, MoCReL can compress large strategies into smaller ones that have down to 0.05% of the original sizes, while preserving their correctness, which we show in this paper. MoCReL is integrated into a new version of Uppaal Stratego that supports calling external libraries when running learning and verification of timed games models.
Rong Gu 0002, Peter Gjøl Jensen, Cristina Cerschi Seceleanu, Eduard Paul Enoiu, Kristina Lundqvist
Sci. Comput. Program.4
2022 Verifiable strategy synthesis for multiple autonomous agents: a scalable approach
abstract
Abstract Path planning and task scheduling are two challenging problems in the design of multiple autonomous agents. Both problems can be solved by the use of exhaustive search techniques such as model checking and algorithmic game theory. However, model checking suffers from the infamous state-space explosion problem that makes it inefficient at solving the problems when the number of agents is large, which is often the case in realistic scenarios. In this paper, we propose a new version of our novel approach called MCRL that integrates model checking and reinforcement learning to alleviate this scalability limitation. We apply this new technique to synthesize path planning and task scheduling strategies for multiple autonomous agents. Our method is capable of handling a larger number of agents if compared to what is feasibly handled by the model-checking technique alone. Additionally, MCRL also guarantees the correctness of the synthesis results via post-verification. The method is implemented in UPPAAL STRATEGO and leverages our tool MALTA for model generation, such that one can use the method with less effort of model construction and higher efficiency of learning than those of the original MCRL. We demonstrate the feasibility of our approach on an industrial case study: an autonomous quarry, and discuss the strengths and weaknesses of the methods.
Rong Gu 0002, Peter Gjøl Jensen, Danny Bøgsted Poulsen, Cristina Cerschi Seceleanu, Eduard Paul Enoiu, Kristina Lundqvist
Int. J. Softw. Tools Technol. Transf.5
2021 VeriDevOps: Automated Protection and Prevention to Meet Security Requirements in DevOps
abstract
Current software development practices are increasingly based on using both COTS and legacy components which make such systems prone to security vulnerabilities. The modern practice addressing ever changing conditions, DevOps, promotes frequent software deliveries, however, verification methods artifacts should be updated in a timely fashion to cope with the pace of the process. VeriDevOps, Horizon 2020 project, aims at providing a faster feedback loop for verifying the security requirements and other quality attributes of large scale cyber-physical systems. VeriDevOps focuses on optimizing the security verification activities, by automatically creating verifiable models directly from security requirements formulated in natural language, using these models to check security properties on design models and then generating artefacts such as, tests or monitors that can be used later in the DevOps process. The main drivers for these advances are: Natural Language Processing, a combined formal verification and model-based testing approach, and machine-learning-based security monitors. VeriDevOps is in its initial stage - the project started on 1.10.2020 and it will run for three years. In this paper we will present the major conceptual ideas behind the project approach as well as the organizational settings.
Andrey Sadovykh, Gunnar Widforss, Dragos Truscan, Eduard Paul Enoiu, Wissam Mallouli, Rosa Iglesias, Alessandra Bagnato, Olga Hendel
DATE4
2021 Model Checking Collision Avoidance of Nonlinear Autonomous Vehicles
Rong Gu 0002, Cristina Cerschi Seceleanu, Eduard Paul Enoiu, Kristina Lundqvist
FM3
2021 Industrial Scale Passive Testing with T-EARS
abstract
Passive testing continuously observes the system or system execution logs without any interference or instrumentation to test diverse combinations of functions, resulting in a more thorough evaluation over time. However, reaching a working solution to passive testing is not without challenges. While there have been some efforts to extract information from system requirements to create passive test cases, to our knowledge, no such efforts are mature enough to be applied in a real, industrial safety-critical context. Our passive testing approach uses the Timed Easy Approach to Requirements Syntax (T-EARS) specification language and its accompanying tool-chain. This study reports challenges and solutions to introducing system-level passive testing for a vehicular safety-critical system through industrial data analysis, including 116 safety-related requirements. Our results show that passive testing using the T-EARS language and its tool-chain can be used for system-level testing in an industrial setting for 64% of the studied requirements. We identified several sources of false positive results and show how to tune test cases to reduce such false positives systematically. Finally, we show the requirement coverage achieved by a manual test session and that passive testing using T-EARS can find a set of injected faults that are considered hard to find with other test techniques.
Daniel Flemström, Henrik Jonsson, Eduard Paul Enoiu, Wasif Afzal
ICST3
2021 Is Requirements Similarity a Good Proxy for Software Similarity? An Empirical Investigation in Industry
Muhammad Abbas 0002, Alessio Ferrari 0001, Anas Shatnawi, Eduard Paul Enoiu, Mehrdad Saadatmand
REFSQ4
2020 Verifiable and Scalable Mission-Plan Synthesis for Autonomous Agents
Rong Gu 0002, Eduard Paul Enoiu, Cristina Cerschi Seceleanu, Kristina Lundqvist
FMICS2
2020 Automated Reuse Recommendation of Product Line Assets Based on Natural Language Requirements
Muhammad Abbas 0002, Mehrdad Saadatmand, Eduard Paul Enoiu, Daniel Sundmark, Claes Lindskog
ICSR3
2020 Probabilistic Mission Planning and Analysis for Multi-agent Systems
Rong Gu 0002, Eduard Paul Enoiu, Cristina Cerschi Seceleanu, Kristina Lundqvist
ISoLA (1)2
2020 Towards a Taxonomy for Eliciting Design-Operation Continuum Requirements of Cyber-Physical Systems
abstract
Software systems that are embedded in autonomous Cyber-Physical Systems (CPSs) usually have a large life-cycle, both during its development and in maintenance. This software evolves during its life-cycle in order to incorporate new requirements, bug fixes, and to deal with hardware obsolescence. The current process for developing and maintaining this software is very fragmented, which makes developing new software versions and deploying them in the CPSs extremely expensive. In other domains, such as web engineering, the phases of development and operation are tightly connected, making it possible to easily perform software updates of the system, and to obtain operational data that can be analyzed by engineers at development time. However, in spite of the rise of new communication technologies (e.g., 5G) providing an opportunity to acquire Design-Operation Continuum Engineering methods in the context of CPSs, there are still many complex issues that need to be addressed, such as the ones related with hardware-software co-design. Therefore, the process of Design-Operation Continuum Engineering for CPSs requires substantial changes with respect to the current fragmented software development process. In this paper, we build a taxonomy for Design-Operation Continuum Engineering of CPSs based on case studies from two different industrial domains involving CPSs (elevation and railway). This taxonomy is later used to elicit requirements from these two case studies in order to present a blueprint on adopting Design-Operation Continuum Engineering in any organization developing CPSs.
Jon Ayerdi, Aitor Gartziandia, Aitor Arrieta, Wasif Afzal, Eduard Paul Enoiu, Aitor Agirre, Goiuria Sagardui Mendieta, Maite Arratibel, Ola Sellin
RE5
2020 An evaluation of Monte Carlo-based hyper-heuristic for interaction testing of industrial embedded software applications
abstract
Abstract Hyper-heuristic is a new methodology for the adaptive hybridization of meta-heuristic algorithms to derive a general algorithm for solving optimization problems. This work focuses on the selection type of hyper-heuristic, called the exponential Monte Carlo with counter (EMCQ). Current implementations rely on the memory-less selection that can be counterproductive as the selected search operator may not (historically) be the best performing operator for the current search instance. Addressing this issue, we propose to integrate the memory into EMCQ for combinatorial t-wise test suite generation using reinforcement learning based on the Q-learning mechanism, called Q-EMCQ. The limited application of combinatorial test generation on industrial programs can impact the use of such techniques as Q-EMCQ. Thus, there is a need to evaluate this kind of approach against relevant industrial software, with a purpose to show the degree of interaction required to cover the code as well as finding faults. We applied Q-EMCQ on 37 real-world industrial programs written in Function Block Diagram (FBD) language, which is used for developing a train control management system at Bombardier Transportation Sweden AB. The results show that Q-EMCQ is an efficient technique for test case generation. Addition- ally, unlike the t-wise test suite generation, which deals with the minimization problem, we have also subjected Q-EMCQ to a maximization problem involving the general module clustering to demonstrate the effectiveness of our approach. The results show the Q-EMCQ is also capable of outperforming the original EMCQ as well as several recent meta/hyper-heuristic including modified choice function, Tabu high-level hyper-heuristic, teaching learning-based optimization, sine cosine algorithm, and symbiotic optimization search in clustering quality within comparable execution time.
Bestoun S. Ahmed, Eduard Paul Enoiu, Wasif Afzal, Kamal Zuhairi Zamli
Soft Comput.2
2019 MBRP: Model-Based Requirements Prioritization Using PageRank Algorithm
abstract
Requirements prioritization plays an important role in driving project success during software development. Literature reveals that existing requirements prioritization approaches ignore vital factors such as interdependency between requirements. Existing requirements prioritization approaches are also generally time-consuming and involve substantial manual effort. Besides, these approaches show substantial limitations in terms of the number of requirements under consideration. There is some evidence suggesting that models could have a useful role in the analysis of requirements interdependency and their visualization, contributing towards the improvement of the overall requirements prioritization process. However, to date, just a handful of studies are focused on model-based strategies for requirements prioritization, considering only conflict-free functional requirements. This paper uses a meta-model-based approach to help the requirements analyst to model the requirements, stakeholders, and inter-dependencies between requirements. The model instance is then processed by our modified PageRank algorithm to prioritize the given requirements. An experiment was conducted, comparing our modified PageRank algorithm's efficiency and accuracy with five existing requirements prioritization methods. Besides, we also compared our results with a baseline prioritized list of 104 requirements prepared by 28 graduate students. Our results show that our modified PageRank algorithm was able to prioritize the requirements more effectively and efficiently than the other prioritization methods.
Muhammad Abbas 0002, Irum Inayat, Naila Jan, Mehrdad Saadatmand, Eduard Paul Enoiu, Daniel Sundmark
APSEC5
2018 Combinatorial Modeling and Test Case Generation for Industrial Control Software Using ACTS
abstract
Combinatorial testing has been suggested as an effective method of creating test cases at a lower cost. However, industrially applicable tools for modeling and combinatorial test generation are still scarce. As a direct effect, combinatorial testing has only seen a limited uptake in industry that calls into question its practical usefulness. This lack of evidence is especially troublesome if we consider the use of combinatorial test generation for industrial safety-critical control software, such as are found in trains, airplanes, and power plants. To study the industrial application of combinatorial testing, we evaluated ACTS, a popular tool for combinatorial modeling and test generation, in terms of applicability and test efficiency on industrial-sized IEC 61131-3 industrial control software running on Programmable Logic Controllers (PLC). We assessed ACTS in terms of its direct applicability in combinatorial modeling of IEC 61131-3 industrial software and the efficiency of ACTS in terms of generation time and test suite size. We used 17 industrial control programs provided by Bombardier Transportation Sweden AB and used in a train control management system. Our results show that not all combinations of algorithms and interaction strengths could generate a test suite within a realistic cut-off time. The results of the modeling process and the efficiency evaluation of ACTS are useful for practitioners considering to use combinatorial testing for industrial control software as well as for researchers trying to improve the use of such combinatorial testing techniques.
Sara Ericsson, Eduard Paul Enoiu
QRS2
2018 From Natural Language Requirements to Passive Test Cases Using Guarded Assertions
abstract
In large-scale embedded system development, requirements are often expressed in natural language. Translating these requirements to executable test cases, while keeping the test cases and requirements aligned, is a challenging task. While such a transformation typically requires extensive domain knowledge, we show that a systematic process in combination with passive testing would facilitate the translation as well as linking the requirements to tests. Passive testing approaches observe the behavior of the system and test their correctness without interfering with the normal behavior. We use a specific approach to passive testing: guarded assertions (G/A). This paper presents a method for transforming system requirements expressed in natural language into G/As. We further present a proof of concept evaluation, performed at Bombardier Transportation Sweden AB, in which we show how the process would be used, together with practical advice of the reasoning behind the translation steps.
Daniel Flemström, Eduard Paul Enoiu, Wasif Afzal, Daniel Sundmark, Thomas Gustafsson, Avenir Kobetski
QRS2
2017 A Comparative Study of Manual and Automated Testing for Industrial Control Software
abstract
Automated test generation has been suggested as a way of creating tests at a lower cost. Nonetheless, it is not very well studied how such tests compare to manually written ones in terms of cost and effectiveness. This is particularly true for industrial control software, where strict requirements on both specification-based testing and code coverage typically are met with rigorous manual testing. To address this issue, we conducted a case study in which we compared manually and automatically created tests. We used recently developed real-world industrial programs written in the IEC 61131-3, a popular programming language for developing industrial control systems using programmable logic controllers. The results show that automatically generated tests achieve similar code coverage as manually created tests, but in a fraction of the time (an average improvement of roughly 90%). We also found that the use of an automated test generation tool does not result in better fault detection in terms of mutation score compared to manual testing. Specifically, manual tests more effectively detect logical, timer and negation type of faults, compared to automatically generated tests. The results underscore the need to further study how manual testing is performed in industrial practice and the extent to which automated test generation can be used in the development of reliable systems.
Eduard Paul Enoiu, Daniel Sundmark, Adnan Causevic, Paul Pettersson
ICST1
2016 A Controlled Experiment in Testing of Safety-Critical Embedded Software
abstract
In engineering of safety critical systems, regulatory standards often put requirements on both traceable specification-based testing, and structural coverage on program units. Automated test generation techniques can be used to generate inputs to cover the structural aspects of a program. However, there is no conclusive evidence on how automated test generation compares to manual test design, or how testing based on the program implementation relates to specification-based testing. In this paper, we investigate specification -- and implementation-based testing of embedded software written in the IEC 61131-3 language, a programming standard used in many embedded safety critical software systems. Further, we measure the efficiency and effectiveness in terms of fault detection. For this purpose, a controlled experiment was conducted, comparing tests created by a total of twenty-three software engineering master students. The participants worked individually on manually designing and automatically generating tests for two IEC 61131-3 programs. Tests created by the participants in the experiment were collected and analyzed in terms of mutation score, decision coverage, number of tests, and testing duration. We found that, when compared to implementation-based testing, specification-based testing yields significantly more effective tests in terms of the number of faults detected. Specifically, specification-based tests more effectively detect comparison and value replacement type of faults, compared to implementation-based tests. On the other hand, implementation-based automated test generation leads to fewer tests (up to 85% improvement) created in shorter time than the ones manually created based on the specification.
Eduard Paul Enoiu, Adnan Causevic, Daniel Sundmark, Paul Pettersson
ICST1
2016 Mutation-Based Test Generation for PLC Embedded Software Using Model Checking
Eduard Paul Enoiu, Daniel Sundmark, Adnan Causevic, Robert Feldt, Paul Pettersson
ICTSS1
2016 Automated test generation using model checking: an industrial evaluation
Eduard Paul Enoiu, Adnan Causevic, Thomas J. Ostrand, Elaine J. Weyuker, Daniel Sundmark, Paul Pettersson
Int. J. Softw. Tools Technol. Transf.1
2013 Using Logic Coverage to Improve Testing Function Block Diagrams
Eduard Paul Enoiu, Daniel Sundmark, Paul Pettersson
ICTSS1
2012 ViTAL: A Verification Tool for EAST-ADL Models Using UPPAAL PORT
Eduard Paul Enoiu, Raluca Marinescu, Cristina Cerschi Seceleanu, Paul Pettersson
ICECCS1