1,720,972 research outputs found
Spirale at the SBFT 2023 Tool Competiton - Cyber-Physical Systems Track
In this paper, we present Spirale, a search-based testing tool designed to generate scenarios for testing Lane-Keeping Assist Systems (LKAS). Spirale took part in the CPS (Cyber-Physical Systems) testing competition held at SBFT 2023
Documenting Software Architecture Design in Compliance with the ISO 26262: a Practical Experience in Industry
Complexity of automotive systems has increased in recent years. Nowadays cars are composed by a multitude of electrical and electronic components, sensors, computer resources and so on. The ISO 26262 is a standard that deals with the functional safety of the E/E (Electric and Electronic) components of road vehicles. The standard defines a functional safety development process model that automotive manufacturing must follow and document to achieve compliance with the standard, otherwise the manufactured product will not be suitable to run in commercial vehicles.Documenting the Software Architecture Design (SAD) is a challenging activity in industries for safety critical software systems. This is amplified when the software development must comply with the guidelines of the ISO 26262.This paper describes the results of a practical experience we conducted in collaboration with four international companies in the automotive domain. In this work we firstly performed a survey to understand the challenges that practitioners have to meet daily for developing SAD in compliance with the ISO 26262. In the subsequent step, we proposed a documentation template aiming at overcoming the challenges that emerged from the survey. The template was implemented in the Sparx Enterprise Architect modeling environment and was validated in an industrial case study that involved the same experts we enrolled in the survey. The results showed that the documentation template was judged as a valid means to produce SAD compliant with the ISO 26262 and to overcome the emerged challenges
Is this the lifecycle we really want?: An automated black-box testing approach for Android activities
Android is today the world's most popular mobile operating system and the demand for quality to Android mobile apps has grown together with their spread. Testing is a well-known approach for assuring the quality of software applications but Android apps have several peculiarities compared to traditional software applications that have to be taken into account by testers. Several studies have pointed out that mobile apps suffer from issues that can be attributed to Activity lifecycle mishandling, e.g. crashes, hangs, waste of system resources. Therefore the lifecycle of the Activities composing an app should be properly considered by testing approaches. In this paper we propose ALARic, a fully automated Black-Box Event-based testing technique that explores an application under test for detecting issues tied to the Android Activity lifecycle. ALARic has been implemented in a tool. We conducted an experiment involving 15 real Android apps that showed the effectiveness of ALARic in finding GUI failures and crashes tied to the Activity lifecycle. In the study, ALARic proved to be more effective in detecting crashes than Monkey, the state-of-The practice automated Android testing too
Exploiting ALM and MDE for supporting questionnaire-based gap analysis processes
Gap Analysis is a common approach in industry to evaluate the gaps between the implemented software processes and the requirements suggested by both Process Quality Frameworks and Standards. Gap Analysis processes are usually executed by approaches based on questionnaires that need to be crafted ad-hoc according to specific appraisal goals and submitted to the industrial personnel. The approaches used for developing, compiling and evaluating the answers given to these questionnaires do not follow well-defined methodologies or processes, and lack of adequate tool support. In this paper we aim at understanding the main issues affecting Questionnaire-based Gap Analysis processes in industrial practices. Moreover, we evaluate the feasibility of adopting state-of-the-art software engineering technologies for executing such processes. We propose a novel approach based on Application Lifecycle Management for configuring and enacting Questionnaire-based Gap Analysis processes. The approach exploits Model Driven Engineering for configuring and implementing the Application Lifecycle Management system. This configuration activity is aided by a tool, named GADGET, we developed for modeling the process and automatically transforming it towards the Application Lifecycle Management technolog
Comparing model coverage and code coverage in model driven testing: An exploratory study
The Model Driven Architecture (MDA) approach is emerged in the last years as a novel software design methodology for the development of software systems. In this approach the focus of software development is shifted from writing code to modeling. In MDA, developers implement models that are automatically transformed into the target code of the system. Alongside MDA, the Model Driven Testing (MDT) is emerging as a relevant research topic in both industrial and scientific communities. MDT is a methodology where test cases for the system are automatically obtained starting from test models to maximize specific model coverage criteria. Eventually, test cases are executed to verify the system code that is generated through an MDA approach. In this paper, we conduct an exploratory study in order to evaluate the differences that may exist between the model coverage guaranteed by the test cases and the code coverage reached when they are executed on the auto-generated code. Moreover, we identify the main factors that may influence these differences
An Explanatory Case Study about the Maintenance Effectiveness of Traceability Models
Analysis of the role of traceability models in software maintenance and comprehension is an important research issue. An exploratory case study evaluating the relationship between the granularity of the traceability model adopted and the effectiveness of the maintenance process is presented in this paper. Two maintenance effectiveness aspects were taken into account: efficiency and accuracy. The analysis was carried out in an object-oriented environment, with the support of an integrated platform of software tools. The preliminary results show that some aspects of the effectiveness of the maintenance process can be improved by modifying the degree of granularity of the model. These results encourage further research into this topic, while some additional side effects that emerged from the study will also be investigated
Combining Automated GUI Exploration of Android apps with Capture and Replay through Machine Learning
Context
Automated GUI Exploration Techniques have been widely adopted in the context of mobile apps for supporting critical engineering tasks such as reverse engineering, testing, and network traffic signature generation. Although several techniques have been proposed in the literature, most of them fail to guarantee the exploration of relevant parts of the applications when GUIs require to be exercised with particular and complex input event sequences. We refer to these GUIs as Gate GUIs and to the sequences required to effectively exercise them as Unlocking GUI Input Event Sequences.
Objective
In this paper, we aim at proposing a GUI exploration approach that exploits the human involvement in the automated process to solve the limitations introduced by Gate GUIs, without requiring the preliminary configuration of the technique or the user involvement for the entire duration of the exploration process.
Method
We propose juGULAR, a Hybrid GUI Exploration Technique combining Automated GUI Exploration with Capture and Replay. Our approach is able to automatically detect Gate GUIs during the app exploration by exploiting a Machine Learning approach and to unlock them by leveraging input event sequences provided by the user. We implement juGULAR in a modular software architecture that targets the Android mobile platform. We evaluate the performance of juGULAR by an experiment involving 14 real Android apps.
Results
The experiment shows that the hybridization introduced by juGULAR allows to improve the exploration capabilities in terms of Covered Activities, Covered Lines of Code, and generated Network Traffic Bytes at a reasonable manual intervention cost. The experimental results also prove that juGULAR is able to outperform the state-of-the-practice tool Monkey.
Conclusion
We conclude that the combination of Automated GUI Exploration approaches with Capture and Replay techniques is promising to achieve a thorough app exploration. Machine Learning approaches aid to pragmatically integrate these two techniques
ENACTEST - European Innovation Alliance for Testing Education
Testing software is very important, but not done well, resulting in problematic and erroneous software applications. The cause radicates from a skills mismatch between what is needed in industry, the learning needs of students, and the way testing is currently being taught at higher and vocational education institutes. The goal of this project is to identify and design seamless teaching materials for testing that are aligned with industry and learning needs. To represent the entire socio-economic environment that will benefit from the results, this project consortium is composed of a diverse set of partners ranging from universities to small enterprises. The project starts with research in sensemaking and cognitive models when doing and learning testing. Moreover, a study will be done to identify the needs of industry for training and knowledge transfer processes for testing. Based on the outcomes of this research and the study, we will design and develop capsules on teaching software testing including the instructional materials that take into account the cognitive models of students and the industry needs. Finally, we will validate these teaching testing capsules developed during the project
A community detection approach based on network representation learning for repository mining
In this paper, we propose a novel heterogeneous graph-based model for capturing and handling all the complex and strongly-correlated information of a software Developer Social Network (DSN) to support several analytic tasks. In particular, we challenge the problem of automatically discovering communities of software developers sharing interests for similar projects by relying on Social Network Analysis (SNA) findings. To overcome the huge graph-size issue, we leverage different graph embedding techniques. Eventually, we evaluate the proposed approach with respect to state-of-the-art approaches from an efficiency and an effectiveness point of view by carrying out an experiment involving the GitHub dataset
- …
