mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 35) Show all publications
Helali Moghadam, M., Saadatmand, M., Bohlin, M., Lisper, B. & Borg, M. (2018). Adaptive Runtime Response Time Control in PLC-based Real-Time Systems using Reinforcement Learning. In: 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems SEAMS 18: . Paper presented at 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems SEAMS 18, 28 May 2018, Gothenburg, Sweden.
Open this publication in new window or tab >>Adaptive Runtime Response Time Control in PLC-based Real-Time Systems using Reinforcement Learning
Show others...
2018 (English)In: 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems SEAMS 18, 2018Conference 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 detect 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 control, PLC-based real-time programs, Runtime monitoring, Reinforcement learning
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38955 (URN)
Conference
13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems SEAMS 18, 28 May 2018, Gothenburg, Sweden
Available from: 2018-05-15 Created: 2018-05-15 Last updated: 2018-05-15Bibliographically approved
Tahvili, S., Saadatmand, M., Bohlin, M., Afzal, W. & Hasan Ameerjan, S. (2017). Towards Execution Time Prediction for Test Cases from Test Specification. In: 2017 43RD EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA): . Paper presented at 43rd Euromicro Conference on Software Engineering and Advanced Applications SEAA'17, 30 Aug 2017, Vienna, Austria (pp. 421-425). Vienna, Austria
Open this publication in new window or tab >>Towards Execution Time Prediction for Test Cases from Test Specification
Show others...
2017 (English)In: 2017 43RD EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA), Vienna, Austria, 2017, p. 421-425Conference paper, Published paper (Refereed)
Abstract [en]

Knowing the execution time of test cases is important to perform test scheduling, prioritization and progress monitoring. This short paper presents a novel approach for predicting the execution time of test cases based on test specifications and available historical data on previously executed test cases. Our approach works by extracting timing information (measured and maximum execution time) for various steps in manual test cases. 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 activities already exists or not. Finally, linear regression is used to predict the actual execution time for test cases. A proof-of-concept use-case at Bombardier transportation serves to evaluate the proposed approach.

Place, publisher, year, edition, pages
Vienna, Austria: , 2017
Keywords
Software TestingOptimizationExecution TimeLinear RegressionNLPTest SpecificationEstimation
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-35512 (URN)10.1109/SEAA.2017.10 (DOI)000426074600062 ()978-1-5386-2141-7 (ISBN)
Conference
43rd Euromicro Conference on Software Engineering and Advanced Applications SEAA'17, 30 Aug 2017, Vienna, Austria
Projects
ITS-EASY Post Graduate School for Embedded Software and SystemsTOCSYC - Testing of Critical System Characteristics (KKS)MegaMaRt2 - Megamodelling at Runtime (ECSEL/Vinnova)
Available from: 2017-06-05 Created: 2017-06-05 Last updated: 2018-03-15Bibliographically approved
Campeanu, G. & Saadatmand, M. (2016). A 2-layer component-based architecture for heterogeneous CPU-GPU embedded systems. In: Advances in Intelligent Systems and Computing, Volume 448: . Paper presented at 13th International Conference on Information Technology, ITNG 2016, April 11-13, 2016, Las Vegas, Nevada, USA (pp. 629-639).
Open this publication in new window or tab >>A 2-layer component-based architecture for heterogeneous CPU-GPU embedded systems
2016 (English)In: Advances in Intelligent Systems and Computing, Volume 448, 2016, p. 629-639Conference paper, Published paper (Refereed)
Abstract [en]

Traditional embedded systems are evolving into heterogeneous systems in order to address new and more demanding software requirements. Modern embedded systems are constructed by combining different computation units, such as traditional CPUs with Graphics Processing Units (GPUs). Adding GPUs to conventional CPU-based embedded systems enhances the computation power but also increases the complexity in developing software applications. A method that can help to tackle and address the software complexity issue of heterogeneous systems is component-based development. The allocation of the software application onto the appropriate computation node is greatly influenced by the system information load. The allocation process is increased in difficulty when we use, instead of common CPU-based systems, complex CPU-GPU systems. This paper presents a 2-layer component-based architecture for heterogeneous embedded systems, which has the purpose to ease the software-to-hardware allocation process. The solution abstracts the CPU-GPU detailed component-based design into single software components in order to decrease the amount of information delivered to the allocator. The last part of the paper describes the activities of the allocation process while using our proposed solution, when applied on a real system demonstrator.

National Category
Embedded Systems
Identifiers
urn:nbn:se:mdh:diva-31480 (URN)10.1007/978-3-319-32467-8_55 (DOI)000385289400055 ()2-s2.0-84962730953 (Scopus ID)9783319324661 (ISBN)
Conference
13th International Conference on Information Technology, ITNG 2016, April 11-13, 2016, Las Vegas, Nevada, USA
Available from: 2016-04-28 Created: 2016-04-28 Last updated: 2016-11-10Bibliographically approved
Abbaspour Asadollah, S., Saadatmand, M., Eldh, S., Sundmark, D. & Hansson, H. (2016). A Model for Systematic Monitoring and Debugging of Starvation Bugs in Multicore Software. In: 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016: . Paper presented at 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 3-7 Sep 2016, Singapore, Singapore.
Open this publication in new window or tab >>A Model for Systematic Monitoring and Debugging of Starvation Bugs in Multicore Software
Show others...
2016 (English)In: 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 2016Conference paper, Published paper (Refereed)
Abstract [en]

With the development of multicore hardware, concurrent, parallel and multicore software are becoming increasingly popular. Software companies are spending a huge amount of time and resources to nd and debug the bugs. Among all types of software bugs, concurrency bugs are also important and troublesome. This type of bugs is increasingly becoming an issue particularly due to the growing prevalence of multicore hardware. In this position paper, we propose a model for monitoring and debugging Starvation bugs as a type of concurrency bugs in multicore software. The model is composed into three phases: monitoring, detecting and debugging. The monitoring phase can support detecting phase by storing collected data from the system execution. The detecting phase can support debugging phase by comparing the stored data with starvation bug's properties, and the debugging phase can help in reproducing and removing the Starvation bug from multicore software. Our intention is that our model is the basis for developing tool(s) to enable solving Starvation bugs in software for multicore platforms.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-32885 (URN)
External cooperation:
Conference
2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 3-7 Sep 2016, Singapore, Singapore
Projects
SYNOPSIS - Safety Analysis for Predictable Software Intensive Systems
Available from: 2016-08-26 Created: 2016-08-24 Last updated: 2016-08-26Bibliographically approved
Tahvili, S., Bohlin, M., Saadatmand, M., Larsson, S., Afzal, W. & Sundmark, D. (2016). Cost-Benefit Analysis of Using Dependency Knowledge at Integration Testing. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics): . Paper presented at THE 17TH INTERNATIONAL CONFERENCE ON PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT PROFES'16, 22-24 Nov 2016, TRONDHEIM, Norway (pp. 268-284). , 10027
Open this publication in new window or tab >>Cost-Benefit Analysis of Using Dependency Knowledge at Integration Testing
Show others...
2016 (English)In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2016, Vol. 10027, p. 268-284Conference paper, Published paper (Refereed)
Abstract [en]

In software system development, testing can take considerable time and resources, and there are numerous examples in the literature of how to improve the testing process. In particular, methods for selection and prioritization of test cases can play a critical role in efficient use of testing resources. This paper focuses on the problem of selection and ordering of integration-level test cases. Integration testing is performed to evaluate the correctness of several units in composition. Further, for reasons of both effectiveness and safety, many embedded systems are still tested manually. To this end, we propose a process, supported by an online decision support system, for ordering and selection of test cases based on the test result of previously executed test cases. To analyze the economic efficiency of such a system, a customized return on investment (ROI) metric tailored for system integration testing is introduced. Using data collected from the development process of a large-scale safety-critical embedded system, we perform Monte Carlo simulations to evaluate the expected ROI of three variants of the proposed new process. The results show that our proposed decision support system is beneficial in terms of ROI at system integration testing and thus qualifies as an important element in improving the integration testing process.

Keywords
Process improvement, Software testing, Decision support system, Integration testing, Test case selection, Prioritization, Optimization, Return on investment
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-32887 (URN)10.1007/978-3-319-49094-6_17 (DOI)2-s2.0-84998880972 (Scopus ID)
Conference
THE 17TH INTERNATIONAL CONFERENCE ON PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT PROFES'16, 22-24 Nov 2016, TRONDHEIM, Norway
Projects
ITS-EASY Post Graduate School for Embedded Software and SystemsTOCSYC - Testing of Critical System Characteristics (KKS)IMPRINT - Innovative Model-Based Product Integration Testing (Vinnova)
Available from: 2016-08-29 Created: 2016-08-24 Last updated: 2016-12-15Bibliographically approved
Tahvili, S., Saadatmand, M., Larsson, S., Afzal, W., Bohlin, M. & Sundmark, D. (2016). Dynamic Integration Test Selection Based on Test Case Dependencies. In: 2016 IEEE NINTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW): . Paper presented at 9th IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW) (pp. 277-286). Chicago, United States
Open this publication in new window or tab >>Dynamic Integration Test Selection Based on Test Case Dependencies
Show others...
2016 (English)In: 2016 IEEE NINTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW), Chicago, United States, 2016, p. 277-286Conference paper, Published paper (Refereed)
Abstract [en]

Prioritization, selection and minimization of test cases are well-known problems in software testing. Test case prioritization deals with the problem of ordering an existing set of test cases, typically with respect to the estimated likelihood of detecting faults. Test case selection addresses the problem of selecting a subset of an existing set of test cases, typically by discarding test cases that do not add any value in improving the quality of the software under test. Most existing approaches for test case prioritization and selection suffer from one or several drawbacks. For example, they to a large extent utilize static analysis of code for that purpose, making them unfit for higher levels of testing such as integration testing. Moreover, they do not exploit the possibility of dynamically changing the prioritization or selection of test cases based on the execution results of prior test cases. Such dynamic analysis allows for discarding test cases that do not need to be executed and are thus redundant. This paper proposes a generic method for prioritization and selection of test cases in integration testing that addresses the above issues. We also present the results of an industrial case study where initial evidence suggests the potential usefulness of our approach in testing a safety-critical train control management subsystem.

Place, publisher, year, edition, pages
Chicago, United States: , 2016
Keywords
Software testing, Integration testing, Test selection, Test prioritization, Fuzzy, AHP, Optimization
National Category
Engineering and Technology Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-33116 (URN)10.1109/ICSTW.2016.14 (DOI)000382490200038 ()2-s2.0-84992215253 (Scopus ID)978-1-5090-3674-5 (ISBN)
Conference
9th IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)
Projects
ITS-EASY Post Graduate School for Embedded Software and SystemsTOCSYC - Testing of Critical System Characteristics (KKS)IMPRINT - Innovative Model-Based Product Integration Testing (Vinnova)
Available from: 2016-09-08 Created: 2016-09-08 Last updated: 2017-10-16Bibliographically approved
Tahvili, S., Afzal, W., Saadatmand, M., Bohlin, M., Sundmark, D. & Larsson, S. (2016). Towards Earlier Fault Detection by Value-Driven Prioritization of Test Cases Using Fuzzy TOPSIS. In: Information Technology: New Generations, vol. 440: . Paper presented at 13th International Conference on Information Technology : New Generations (ITNG 2016) ITNG'16, 11-13 Apr 2016, Las Vegas, United States (pp. 745-759). Las Vegas, United States
Open this publication in new window or tab >>Towards Earlier Fault Detection by Value-Driven Prioritization of Test Cases Using Fuzzy TOPSIS
Show others...
2016 (English)In: Information Technology: New Generations, vol. 440, Las Vegas, United States, 2016, p. 745-759Conference paper, Published paper (Refereed)
Abstract [en]

In industrial software testing, development projects typically set up and maintain test suites containing large numbers of test cases. Executing a large number of test cases can be expensive in terms of effort and wall-clock time. Moreover, indiscriminate execution of all available test cases typically lead to sub-optimal use of testing resources. On the other hand, selecting too few test cases for execution might leave a large number of faults undiscovered. Limiting factors such as allocated budget and time constraints for testing further emphasizes the importance of test case prioritization in order to identify test cases that enable earlier detection of faults while respecting such constraints. In this paper, we propose a multi-criteria decision making approach for prioritizing test cases in order to detect faults earlier. This is achieved by applying the TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) decision making technique combined with fuzzy principles. Our solution is based on important criteria such as fault detection probability, execution time, complexity, and other test case properties. By applying the approach on a train control management subsystem from Bombardier Transportation in Sweden, we demonstrate how it helps, in a systematic way, to identify test cases that can lead to early detection of faults while respecting various criteria.

Place, publisher, year, edition, pages
Las Vegas, United States: , 2016
Keywords
Software Testing, Fault Detection, Test Cases Prioritization, Optimization, Fuzzy Logic, MCDM, TOPSIS, Failure Rate
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-30517 (URN)10.1007/978-3-319-32467-8_65 (DOI)000385289400065 ()2-s2.0-84962655573 (Scopus ID)978-3-319-32466-1 (ISBN)
Conference
13th International Conference on Information Technology : New Generations (ITNG 2016) ITNG'16, 11-13 Apr 2016, Las Vegas, United States
Projects
ITS-EASY Post Graduate School for Embedded Software and SystemsTOCSYC - Testing of Critical System Characteristics (KKS)IMPRINT - Innovative Model-Based Product Integration Testing (Vinnova)
Available from: 2015-12-22 Created: 2015-12-21 Last updated: 2016-12-27Bibliographically approved
Saadatmand, M. & Tahvili, S. (2015). A Fuzzy Decision Support Approach for Model-Based Tradeoff Analysis of Non-Functional Requirements. In: 12th International Conference on Information Technology: New Generations ITNG 2015. Paper presented at 12th International Conference on Information Technology : New Generations ITNG 2015, 13 Apr 2015, Las Vegas, United States (pp. 112-121). Las Vegas, United States, Article number 7113458
Open this publication in new window or tab >>A Fuzzy Decision Support Approach for Model-Based Tradeoff Analysis of Non-Functional Requirements
2015 (English)In: 12th International Conference on Information Technology: New Generations ITNG 2015, Las Vegas, United States, 2015, Vol. Article number 7113458, p. 112-121Conference paper, Published paper (Refereed)
Abstract [en]

One of the main challenges in addressing Non-Functional Requirements (NFRs) in designing systems is to take into account their interdependencies and mutual impacts. For this reason, they cannot be considered in isolation and a careful balance and tradeoff among them should be established. This makes it a difficult task to select design decisions and features that lead to the satisfaction of all different NFRs in the system, which becomes even more difficult when the complexity of a system grows. In this paper, we introduce an approach based on fuzzy logic and decision support systems that helps to identify different design alternatives that lead to higher overall satisfaction of NFRs in the system. This is achieved by constructing a model of the NFRs and then performing analysis on the model. To build the model, we use a modified version of the NFR UML profile which we have introduced in our previous works, and using model transformation techniques we automate the analysis of the model.

Place, publisher, year, edition, pages
Las Vegas, United States: , 2015
Keywords
Non-Functional Requirements, Tradeoff Analysis, Multi-Criteria Decision Making, Fuzzy, TOPSIS, Optimization, Software Architecture
National Category
Engineering and Technology Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-27220 (URN)10.1109/ITNG.2015.24 (DOI)000380407500019 ()2-s2.0-84936797230 (Scopus ID)9781479988273 (ISBN)
Conference
12th International Conference on Information Technology : New Generations ITNG 2015, 13 Apr 2015, Las Vegas, United States
Projects
MBAT - Combined Model-based Analysis and Testing (Artemis/Vinnova)
Available from: 2014-12-29 Created: 2014-12-29 Last updated: 2018-01-26Bibliographically approved
Tahvili, S., Saadatmand, M. & Bohlin, M. (2015). Multi-Criteria Test Case Prioritization Using Fuzzy Analytic Hierarchy Process. In: ICSEA 2015: The Tenth International Conference on Software Engineering Advances. Paper presented at The Tenth International Conference on Software Engineering Advances ICSEA 2015, 15-20 Nov 2015, Barcelona, Spain (pp. 290-296).
Open this publication in new window or tab >>Multi-Criteria Test Case Prioritization Using Fuzzy Analytic Hierarchy Process
2015 (English)In: ICSEA 2015: The Tenth International Conference on Software Engineering Advances, 2015, p. 290-296Conference paper, Published paper (Refereed)
Abstract [en]

One of the key challenges in software testing today is prioritizing and evaluating test cases. The decision of which test cases to design, select and execute first is of great importance, in particular considering that testing is often done late in the implementation process, and therefore needs to be done within tight resource constraints on time and budget. In practice, prioritized selection of test cases requires the evaluation of different test case criteria, and therefore, test case prioritization can be formulated as a multi-criteria decision making problem. As the number of decision criteria grows, application of a systematic decision making solution becomes a necessity. In this paper we propose an approach for prioritized selection of test cases by using the Analytic Hierarchy Process (AHP) technique. To improve the practicality of the approach in real world scenarios, we apply AHP in fuzzy environment so that criteria values can be specified using fuzzy variables than requiring precise quantified values. One of the advantages of the decision making process it that the defined criteria with the biggest and most critical role in priority ranking of test cases is identified. We have applied our approach on an example case in which several test cases for testing non-functional requirements in a systems are defined.

Keywords
Software testing, Test case prioritization, MCDM, Fuzzy logic, NFR, AHP, Fault detection
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-29634 (URN)978-1-61208-438-1 (ISBN)
Conference
The Tenth International Conference on Software Engineering Advances ICSEA 2015, 15-20 Nov 2015, Barcelona, Spain
Projects
ITS-EASY Post Graduate School for Embedded Software and SystemsTOCSYC - Testing of Critical System Characteristics (KKS)IMPRINT - Innovative Model-Based Product Integration Testing (Vinnova)
Available from: 2015-12-10 Created: 2015-11-26 Last updated: 2016-12-27Bibliographically approved
Saadatmand, M. (2015). Preservation of Extra-Functional Properties in Embedded Systems Development. (Doctoral dissertation). Västerås: Mälardalen University
Open this publication in new window or tab >>Preservation of Extra-Functional Properties in Embedded Systems Development
2015 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

The interaction of embedded systems with their environments and their resource limitations make it important to take into account properties such as timing, security, and resource consumption in designing such systems. These so-called Extra-Functional Properties (EFPs) capture and describe the quality and characteristics of a system, and they need to be taken into account from early phases of development and throughout the system's lifecycle. An important challenge in this context is to ensure that the EFPs that are defined at early design phases are actually preserved throughout detailed design phases as well as during the execution of the system on its platform. In this thesis, we provide solutions to help with the preservation of EFPs; targeting both system design phases and system execution on the platform. Starting from requirements, which form the constraints of EFPs, we propose an approach for modeling Non-Functional Requirements (NFRs) and evaluating different design alternatives with respect to the satisfaction of the NFRs. Considering the relationship and trade-off among EFPs, an approach for balancing timing versus security properties is introduced. Our approach enables balancing in two ways: in a static way resulting in a fixed set of components in the design model that are analyzed and thus verified to be balanced with respect to the timing and security properties, and also in a dynamic way during the execution of the system through runtime adaptation. Considering the role of the platform in preservation of EFPs and mitigating possible violations of them, an approach is suggested to enrich the platform with necessary mechanisms to enable monitoring and enforcement of timing properties. In the thesis, we also identify and demonstrate the issues related to accuracy in monitoring EFPs, how accuracy can affect the decisions that are made based on the collected information, and propose a technique to tackle this problem. As another contribution, we also show how runtime monitoring information collected about EFPs can be used to fine-tune design models until a desired set of EFPs are achieved. We have also developed a testing framework which enables automatic generation of test cases in order verify the actual behavior of a system against its desired behavior. On a high level, the contributions of the thesis are thus twofold: proposing methods and techniques to 1) improve maintenance of EFPs within their correct range of values during system design, 2) identify and mitigate possible violations of EFPs at runtime.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2015
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 171
Keywords
Software Engineering, Embedded Systems, Non-Functional Requirements, Extra-Functional Properties, Model-Driven Development, Trade-off analysis
National Category
Computer Systems Embedded Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-27300 (URN)978-91-7485-182-3 (ISBN)
Public defence
2015-02-24, Gamma, Mälardalens högskola, Västerås, 13:15 (English)
Opponent
Supervisors
Projects
CHESSMBATITS-EASY
Available from: 2015-01-12 Created: 2015-01-12 Last updated: 2015-02-02Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-1512-0844

Search in DiVA

Show all publications