Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 25) Show all publications
Campeanu, G. & Saadatmand, M. (2019). A Two-Layer Component-Based Allocation for Embedded Systems with GPUs. designs, 3(1), Article ID 6.
Open this publication in new window or tab >>A Two-Layer Component-Based Allocation for Embedded Systems with GPUs
2019 (English)In: designs, ISSN 2411-9660, Vol. 3, no 1, article id 6Article in journal (Other academic) Published
Abstract [en]

Component-based development is a software engineering paradigm that can facilitate the construction of embedded systems and tackle its complexities. The modern embedded systems have more and more demanding requirements. One way to cope with such a versatile and growing set of requirements is to employ heterogeneous processing power, i.e., CPU–GPU architectures. The new CPU–GPU embedded boards deliver an increased performance but also introduce additional complexity and challenges. In this work, we address the component-to-hardware allocation for CPU–GPU embedded systems. The allocation for such systems is much complex due to the increased amount of GPU-related information. For example, while in traditional embedded systems the allocation mechanism may consider only the CPU memory usage of components to find an appropriate allocation scheme, in heterogeneous systems, the GPU memory usage needs also to be taken into account in the allocation process. This paper aims at decreasing the component-to-hardware allocation complexity by introducing a two-layer component-based architecture for heterogeneous embedded systems. The detailed CPU–GPU information of the system is abstracted at a high-layer by compacting connected components into single units that behave as regular components. The allocator, based on the compacted information received from the high-level layer, computes, with a decreased complexity, feasible allocation schemes. In the last part of the paper, the two-layer allocation method is evaluated using an existing embedded system demonstrator; namely, an underwater robot.

Keywords
embedded systems, software component, component-based development, CBD, GPU, GPU component, allocation, component allocation, architecture layer
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-37739 (URN)10.3390/designs3010006 (DOI)
Available from: 2019-02-13 Created: 2019-02-13 Last updated: 2019-02-13Bibliographically approved
Saadatmand, M. (2019). Integrationdistiller: Automating integration analysis and testing of object-oriented applications. In: Proceedings of the IEEE International Conference on Industrial Technology: . Paper presented at 2019 IEEE International Conference on Industrial Technology, ICIT 2019, 13 February 2019 through 15 February 2019 (pp. 1385-1392). Institute of Electrical and Electronics Engineers Inc.
Open this publication in new window or tab >>Integrationdistiller: Automating integration analysis and testing of object-oriented applications
2019 (English)In: Proceedings of the IEEE International Conference on Industrial Technology, Institute of Electrical and Electronics Engineers Inc. , 2019, p. 1385-1392Conference paper, Published paper (Refereed)
Abstract [en]

Software systems typically consist of various interacting components and units. While these components can be tested and shown to work correctly in isolation, when integrated and start interacting with each other, they may fail to produce the desired behaviors and results. Integration testing plays an important role in revealing issues in interactions among cooperating components. Identifying different interaction scenarios, however, is not a trivial task when performing integration testing. On the other hand, most of the integration testing solutions proposed in the literature are manual which hinders their scalability and applicability when it comes to large industrial systems. In this paper we introduce IntegrationDistiller as an automated solution and tool to identify integration scenarios and generate test cases (in the form of method call sequences) for.NET applications. It works by analyzing the code and automatically identifying class couplings, interacting methods, as well as invocation points. Moreover, the tool also helps and supports testers in identifying timing issues at integration level by automatic code instrumentation at invocation points. The code analysis engine of IntegrationDistiller is built and automated using.NET compiler platform, known as Roslyn. Hence, this work is the first in utilizing Roslyn features for automatic integration analysis and integration test case generation. This work has been done as part of our collaboration with ABB Industrial Automation Control Technologies (IACT) in Västerås-Sweden to address the integration testing challenges of the software part of the ABB Ability™ 800xA distributed control systems.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2019
Keywords
Extra-functional properties, Integration testing, Non-functional properties, Test case generation, Timing properties, Ability testing, Automation, Codes (symbols), Distributed parameter control systems, Integration, Object oriented programming, Automated solutions, Industrial automation, Integration analysis, Non functional properties, Object oriented application
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-39674 (URN)10.1109/ICIT.2019.8755027 (DOI)2-s2.0-85069056791 (Scopus ID)9781538663769 (ISBN)
Conference
2019 IEEE International Conference on Industrial Technology, ICIT 2019, 13 February 2019 through 15 February 2019
Available from: 2019-08-07 Created: 2019-08-07 Last updated: 2019-08-07Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2019). Machine Learning to Guide Performance Testing: An Autonomous Test Framework. In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 2019: . Paper presented at ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 22 Apr 2019, Xi’an, China.
Open this publication in new window or tab >>Machine Learning to Guide Performance Testing: An Autonomous Test Framework
Show others...
2019 (English)In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 2019, 2019Conference paper, Published paper (Refereed)
Abstract [en]

Satisfying performance requirements is of great importance for performance-critical software systems. Performance analysis to provide an estimation of performance indices and ascertain whether the requirements are met is essential for achieving this target. Model-based analysis as a common approach might provide useful information but inferring a precise performance model is challenging, especially for complex systems. Performance testing is considered as a dynamic approach for doing performance analysis. In this work-in-progress paper, we propose a self-adaptive learning-based test framework which learns how to apply stress testing as one aspect of performance testing on various software systems to find the performance breaking point. It learns the optimal policy of generating stress test cases for different types of software systems, then replays the learned policy to generate the test cases with less required effort. Our study indicates that the proposed learning-based framework could be applied to different types of software systems and guides towards autonomous performance testing.

Keywords
performance requirements, performance testing, test case generation, reinforcement learning, autonomous testing, Engineering and Technology, Teknik och teknologier, Computer Systems, Datorsystem
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-39327 (URN)10.1109/ICSTW.2019.00046 (DOI)2-s2.0-85068406208 (Scopus ID)
Conference
ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 22 Apr 2019, Xi’an, China
Available from: 2019-07-04 Created: 2019-07-04 Last updated: 2019-08-08Bibliographically approved
Abbas, M., Inayat, I., Saadatmand, M. & Jan, N. (2019). Requirements dependencies-based test case prioritization for extra-functional properties. In: Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2019: . Paper presented at 12th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2019, 22 April 2019 through 27 April 2019 (pp. 159-163). Institute of Electrical and Electronics Engineers Inc.
Open this publication in new window or tab >>Requirements dependencies-based test case prioritization for extra-functional properties
2019 (English)In: Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2019, Institute of Electrical and Electronics Engineers Inc. , 2019, p. 159-163Conference paper, Published paper (Refereed)
Abstract [en]

The use of requirements' information in testing is a well-recognized practice in the software development life cycle. Literature reveals that existing tests prioritization and selection approaches neglected vital factors affecting tests priorities, like interdependencies between requirement specifications. We believe that models may play a positive role in specifying these inter-dependencies and prioritizing tests based on these inter-dependencies. However, till date, few studies can be found that make use of requirements inter-dependencies for test case prioritization. This paper uses a meta-model to aid modeling requirements, their related tests, and inter-dependencies between them. The instance of this meta-model is then processed by our modified PageRank algorithm to prioritize the requirements. The requirement priorities are then propagated to related test cases in the test model and test cases are selected based on coverage of extra-functional properties. We have demonstrated the applicability of our proposed approach on a small example case.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2019
Keywords
Meta-model, Requirements inter dependencies, Test case prioritization, Life cycle, Software design, Verification, Well testing, Extra-functional properties, Inter-dependencies, Meta model, PageRank algorithm, Requirement specification, Requirements dependencies, Software development life cycle, Software testing
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-39669 (URN)10.1109/ICSTW.2019.00045 (DOI)2-s2.0-85068376871 (Scopus ID)9781728108889 (ISBN)
Conference
12th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2019, 22 April 2019 through 27 April 2019
Note

 Funding text 1: ACKNOWLEDGMENT This work has been supported by and received funding from the XIVT project (https://itea3.org/project/xivt.html).

Available from: 2019-08-07 Created: 2019-08-07 Last updated: 2019-08-07Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2018). Adaptive Run-time Response Time Control in PLC-based Real-Time Systems using Reinforcement Learning. In: : . Paper presented at 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (pp. 217-223).
Open this publication in new window or tab >>Adaptive Run-time Response Time Control in PLC-based Real-Time Systems using Reinforcement Learning
Show others...
2018 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Timing requirements such as constraints on response time are key characteristics of real-time systems and violations of these requirements might cause a total failure, particularly in hard real-time systems. Runtime monitoring of the system properties is of great importance to check the system status and mitigate such failures. Thus, a runtime control to preserve the system properties could improve the robustness of the system with respect to timing violations. Common control approaches may require a precise analytical model of the system which is difficult to be provided at design time. Reinforcement learning is a promising technique to provide adaptive model-free control when the environment is stochastic, and the control problem could be formulated as a Markov Decision Process. In this paper, we propose an adaptive runtime control using reinforcement learning for real-time programs based on Programmable Logic Controllers (PLCs), to meet the response time requirements. We demonstrate through multiple experiments that our approach could control the response time efficiently to satisfy the timing requirements.

Keywords
adaptive response time contro, lPLC-based real-time programs, reinforcement learning, runtime monitoring
National Category
Software Engineering
Identifiers
urn:nbn:se:ri:diva-34197 (URN)10.1145/3194133.3194153 (DOI)2-s2.0-85051555083 (Scopus ID)9781450357159 (ISBN)
Conference
13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Available from: 2018-07-13 Created: 2018-07-13 Last updated: 2019-04-05Bibliographically approved
Tahvili, S., Hatvani, L., Felderer, M., Afzal, W., Saadatmand, M. & Bohlin, M. (2018). Cluster-based test scheduling strategies using semantic relationships between test specifications. In: : . Paper presented at Proceedings of the 5th International Workshop on Requirements Engineering and Testing. Gothenburg, Sweden (pp. 1-4).
Open this publication in new window or tab >>Cluster-based test scheduling strategies using semantic relationships between test specifications
Show others...
2018 (English)Conference paper, Published paper (Other academic)
Abstract [en]

One of the challenging issues in improving the test efficiency isthat of achieving a balance between testing goals and testing resources.Test execution scheduling is one way of saving time andbudget, where a set of test cases are grouped and tested at thesame time. To have an optimal test execution schedule, all relatedinformation of a test case (e.g. execution time, functionality to betested, dependency and similarity with other test cases) need tobe analyzed. Test scheduling problem becomes more complicatedat high-level testing, such as integration testing and especially inmanual testing procedure. Test specifications are generally writtenin natural text by humans and usually contain ambiguity anduncertainty. Therefore, analyzing a test specification demands astrong learning algorithm. In this position paper, we propose anatural language processing-based approach that, given test specificationsat the integration level, allows automatic detection oftest cases semantic dependencies. The proposed approach utilizesthe Doc2Vec algorithm and converts each test case into a vectorin n-dimensional space. These vectors are then grouped using theHDBSCAN clustering algorithm into semantic clusters. Finally, aset of cluster-based test scheduling strategies are proposed for execution.The proposed approach has been applied in a sub-systemfrom the railway domain by analyzing an ongoing testing projectat Bombardier Transportation AB, Sweden.

Keywords
clustering, dependency, Doc2Vec, HDBSCAN, NLP, software testing, test optimization
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:ri:diva-34878 (URN)10.1145/3195538.3195540 (DOI)2-s2.0-85051238162 (Scopus ID)978-1-4503-5749-4 (ISBN)
Conference
Proceedings of the 5th International Workshop on Requirements Engineering and Testing. Gothenburg, Sweden
Available from: 2018-08-21 Created: 2018-08-21 Last updated: 2019-03-28Bibliographically approved
Tahvili, S., Afzal, W., Saadatmand, M., Bohlin, M. & Ameerjan, S. H. (2018). ESPRET: A tool for execution time estimation of manual test cases. Journal of Systems and Software, 146, 26-41
Open this publication in new window or tab >>ESPRET: A tool for execution time estimation of manual test cases
Show others...
2018 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 146, p. 26-41Article in journal (Refereed) Published
Abstract [en]

Manual testing is still a predominant and an important approach for validation of computer systems, particularly in certain domains such as safety-critical systems. Knowing the execution time of test cases is important to perform test scheduling, prioritization and progress monitoring. In this work, we present, apply and evaluate ESPRET (EStimation and PRediction of Execution Time) as our tool for estimating and predicting the execution time of manual test cases based on their test specifications. Our approach works by extracting timing information for various steps in manual test specification. This information is then used to estimate the maximum time for test steps that have not previously been executed, but for which textual specifications exist. As part of our approach, natural language parsing of the specifications is performed to identify word combinations to check whether existing timing information on various test steps is already available or not. Since executing test cases on the several machines may take different time, we predict the actual execution time for test cases by a set of regression models. Finally, an empirical evaluation of the approach and tool has been performed on a railway use case at Bombardier Transportation (BT) in Sweden.

Keywords
Execution time, Manual testing, Optimization, Regression analysis, Software testing, Test specification, Forecasting, Safety engineering, Safety testing, Specifications, Bombardier Transportation, Empirical evaluations, Estimation and predictions, Natural language parsing, Safety critical systems, Test specifications
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-35572 (URN)10.1016/j.jss.2018.09.003 (DOI)2-s2.0-85053193472 (Scopus ID)
Note

Funding details: 20130085; Funding details: 20160139; Funding details: MegaM@RT2, VINNOVA; Funding details: Bombardier; Funding text: ECSEL & VINNOVA (through projects MegaM@RT2 & TESTOMAT) and the Swedish Knowledge Foundation (through the projects TOCSYC (20130085) and TestMine (20160139)) have supported this work

Available from: 2018-11-06 Created: 2018-11-06 Last updated: 2018-11-06Bibliographically approved
Tahvili, S., Ahlberg, M., Fornander, E., Afzal, W., Saadatmand, M., Bohlin, M. & Sarabi, M. (2018). Functional Dependency Detection for Integration Test Cases. In: Proceedings - 2018 IEEE 18th International Conference on Software Quality, Reliability, and Security Companion, QRS-C 2018: . Paper presented at 18th IEEE International Conference on Software Quality, Reliability, and Security Companion, QRS-C 2018, 16 July 2018 through 20 July 2018 (pp. 207-214).
Open this publication in new window or tab >>Functional Dependency Detection for Integration Test Cases
Show others...
2018 (English)In: Proceedings - 2018 IEEE 18th International Conference on Software Quality, Reliability, and Security Companion, QRS-C 2018, 2018, p. 207-214Conference paper, Published paper (Refereed)
Abstract [en]

This paper presents a natural language processing (NLP) based approach that, given software requirements specification, allows the functional dependency detection between integration test cases. We analyze a set of internal signals to the implemented modules for detecting dependencies between requirements and thereby identifying dependencies between test cases such that: module 2 depends on module 1 if an output internal signal from module 1 enters as an input internal signal to the module 2. Consequently, all requirements (and thereby test cases) for module 2 are dependent on all the designed requirements (and test cases) for module 1. The dependency information between requirements (and thus corresponding test cases) can be utilized for test case prioritization and scheduling. We have implemented our approach as a tool and the feasibility is evaluated through an industrial use case in the railway domain at Bombardier Transportation (BT), Sweden. © 2018 IEEE.

Keywords
Dependency, Internal Signals, NLP, Optimization, Software Requirement, Software Testing, C (programming language), Computer software selection and evaluation, Integral equations, Natural language processing systems, Requirements engineering, Software reliability, Testing, Bombardier Transportation, Dependency informations, Functional dependency, Software requirements, Software requirements specifications, Test case prioritization
National Category
Natural Sciences
Identifiers
urn:nbn:se:ri:diva-35160 (URN)10.1109/QRS-C.2018.00047 (DOI)2-s2.0-85052305334 (Scopus ID)9781538678398 (ISBN)
Conference
18th IEEE International Conference on Software Quality, Reliability, and Security Companion, QRS-C 2018, 16 July 2018 through 20 July 2018
Available from: 2018-09-11 Created: 2018-09-11 Last updated: 2018-09-11Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2018). Learning-based Response Time Analysis in Real-Time Embedded Systems: A Simulation-based Approach. In: : . Paper presented at 1st International Workshop on Software Qualities and their Dependencies (pp. 21-24).
Open this publication in new window or tab >>Learning-based Response Time Analysis in Real-Time Embedded Systems: A Simulation-based Approach
Show others...
2018 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Response time analysis is an essential task to verify the behavior of real-time systems. Several response time analysis methods have been proposed to address this challenge, particularly for real-time systems with different levels of complexity. Static analysis is a popular approach in this context, but its practical applicability is limited due to the high complexity of the industrial real-time systems, as well as many unpredictable run-time events in these systems. In this work-in-progress paper, we propose a simulation-based response time analysis approach using reinforcement learning to find the execution scenarios leading to the worst-case response time. The approach learns how to provide a practical estimation of the worst-case response time through simulating the program without performing static analysis. Our initial study suggests that the proposed approach could be applicable in the simulation environments of the industrial real-time control systems to provide a practical estimation of the execution scenarios leading to the worst-case response time.

National Category
Software Engineering
Identifiers
urn:nbn:se:ri:diva-34196 (URN)10.1145/3194095.3194097 (DOI)2-s2.0-85051494988 (Scopus ID)
Conference
1st International Workshop on Software Qualities and their Dependencies
Available from: 2018-07-13 Created: 2018-07-13 Last updated: 2019-01-09Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2018). Learning-Based Self-Adaptive Assurance of Timing Properties in a Real-Time Embedded System. In: : . Paper presented at 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW) Systems (pp. 77-80).
Open this publication in new window or tab >>Learning-Based Self-Adaptive Assurance of Timing Properties in a Real-Time Embedded System
Show others...
2018 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Providing an adaptive runtime assurance technique to meet the performance requirements of a real-time system without the need for a precise model could be a challenge. Adaptive performance assurance based on monitoring the status of timing properties can bring more robustness to the underlying platform. At the same time, the results or the achieved policy of this adaptive procedure could be used as feedback to update the initial model, and consequently for producing proper test cases. Reinforcement-learning has been considered as a promising adaptive technique for assuring the satisfaction of the performance properties of software-intensive systems in recent years. In this work-in-progress paper, we propose an adaptive runtime timing assurance procedure based on reinforcement learning to satisfy the performance requirements in terms of response time. The timing control problem is formulated as a Markov Decision Process and the details of applying the proposed learning-based timing assurance technique are described.

Keywords
Real-time embedded systems, Reinforcement learning, Self-adaptive performance assurance, Timing properties
National Category
Software Engineering
Identifiers
urn:nbn:se:ri:diva-34194 (URN)10.1109/ICSTW.2018.00031 (DOI)2-s2.0-85050958526 (Scopus ID)9781538663523 (ISBN)
Conference
2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW) Systems
Available from: 2018-07-13 Created: 2018-07-13 Last updated: 2019-03-28Bibliographically approved
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-1512-0844

Search in DiVA

Show all publications
v. 2.35.7