mdh.sePublications
Change search
Refine search result
1 - 44 of 44
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Abbaspour Asadollah, Sara
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    SICS Swedish ICT, Västerås, Sweden.
    Eldh, Sigrid
    Ericsson AB, Kista, Sweden.
    Sundmark, Daniel
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Hansson, Hans
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    A Model for Systematic Monitoring and Debugging of Starvation Bugs in Multicore Software2016In: 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 2016Conference 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.

  • 2. Asadi, Nima
    et al.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Run-Time Monitoring of Timing Constraints: A Survey of Methods and Tools2013Conference paper (Refereed)
    Abstract [en]

    Despite the availability of static analysis methods to achieve a correct-by-construction design for different systems in terms of timing behavior, violations of timing constraints can still occur at run-time due to different reasons. The aim of monitoring of system performance with respect to the timing constraints is to detect the violations of timing specifications, or to predict them based on the current system performance data. Considerable work has been dedicated to suggesting efficient performance monitoring approaches during the past years. This paper presents a survey and classification of those approaches in order to help researchers gain a better view over different methods and developments in monitoring of timing behavior of systems. Classifications of the mentioned approaches are given based on different items that are seen as important in developing a monitoring system, i.e. the use of additional hardware, the data collection approach, etc. Moreover, a description of how these different methods work is presented in this paper along with the advantages and downsides of each of them.

  • 3.
    Campeanu, Gabriel
    et al.
    Bombardier Transportation, Västerås, Sweden.
    Saadatmand, Mehrdad
    RISE SICS Västerås, Sweden.
    A 2-layer Component-based Allocation for Embedded Systems with GPUs2019In: Designs, ISSN 2411-9660, Vol. 3, p. 1-14Article in journal (Refereed)
    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 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 2-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 2-layer allocation method is evaluated using an existing embedded system demonstrator; namely, an underwater robot.

  • 4.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    SICS Swedish ICT, Västerås, Sweden.
    A 2-layer component-based architecture for heterogeneous CPU-GPU embedded systems2016In: Advances in Intelligent Systems and Computing, Volume 448, 2016, p. 629-639Conference 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.

  • 5.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Swedish Institute of Computer Science (SICS), Sweden.
    Run-Time Component Allocation in CPU-GPU Embedded Systems2017In: 32nd ACM SIGAPP Symposium On Applied Computing SAC2017, 2017, p. 1259-1265Conference paper (Refereed)
    Abstract [en]

    Nowadays, many of the modern embedded applications such as vehicles and robots, interact with the environment and receive huge amount of data through various sensors such as cameras and radars. The challenge of processing large amount of data, within an acceptable performance, is solvedby employing embedded systems that incorporate complementary attributes of CPUs and Graphics Processing Units (GPUs), i.e., sequential and parallel execution models. Component-based development (CBD) is a software engineering methodology that augments the applications development through reuse of software blocks known as components. In developing a CPU-GPU embedded application using CBD, allocation of components to different processing units of the platform is an important activity which can affect the overall performance of the system. In this context, there is also often the need to support and achieve run-time component allocation due to various factors and situations that can happen during system execution, such as switching off parts of the system for energy saving. In this paper, we provide a solution that dynamically allocates components using various system information such as the available resources (e.g., available GPU memory) and the software behavior (e.g., in terms of GPU memory usage). The novelty of our work is a formal allocation model that considers GPU system characteristics computed on-the-fly through software monitoring solutions. For the presentation and validation of our solution, we utilize an existing underwater robot demonstrator.

  • 6.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    An automated round-trip support towards deployment assessment in component-based embedded systems2013In: CBSE 2013 - Proceedings of the 16th ACM SIGSOFT Symposium on Component Based Software Engineering, 2013, 2013, p. 179-188Conference paper (Refereed)
    Abstract [en]

    Synergies between model-driven and component-based software engineering have been indicated as promising to mitigate complexity in development of embedded systems. In this work we evaluate the usefulness of a model-driven round-trip approach to aid deployment optimization in the development of embedded component-based systems. The round-trip approach is composed of the following steps: modelling the system, generation of full code from the models, execution and monitoring the code execution, and finally back-propagation of monitored values to the models. We illustrate the usefulness of the round-trip approach exploiting an industrial case-study from the telecom-domain. We use a code-generator that can realise different deployment strategies, as well as special monitoring code injected into the generated code, and monitoring primitives defined at operating system level. Given this infrastructure we can evaluate extra-functional properties of the system and thus compare different deployment strategies. 

  • 7.
    Helali Moghadam, Mahshid
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    RISE SICS, Sweden.
    Bohlin, Markus
    RISE SICS, Sweden.
    Lisper, Björn
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Borg, Markus
    RISE SICS, Sweden.
    Adaptive Runtime Response Time Control in PLC-based Real-Time Systems using Reinforcement Learning2018In: ACM/IEEE 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2018, , co-located with International Conference on Software Engineering, ICSE 2018; Gothenburg; Sweden; 28 May 2018 through 29 May 2018; Code 138312, 2018, Vol. 28 May, p. 217-223Conference 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.

  • 8.
    Helali Moghadam, Mahshid
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. RISE, SICS, Sweden.
    Saadatmand, Mehrdad
    RISE, SICS, Sweden.
    Borg, Markus
    RISE, SICS, Sweden.
    Bohlin, Markus
    Mälardalen University, School of Innovation, Design and Engineering. RISE, SICS, Sweden.
    Lisper, Björn
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Learning-based Response Time Analysis in Real-Time Embedded Systems: A Simulation-based Approach2018In: 1st International Workshop on Software Qualities and their Dependencies, located at the International Conference of Software Engineering (ICSE) 2018 SQUADE'18, 2018, p. 21-24Conference 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 runtime events in these systems. In this work-in-progress paper, we propose a simulationbased 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.

  • 9.
    Helali Moghadam, Mahshid
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. RISE, SICS, Sweden.
    Saadatmand, Mehrdad
    RISE, SICS, Sweden.
    Borg, Markus
    RISE, SICS, Sweden.
    Bohlin, Markus
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Lisper, Björn
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Learning-Based Self-Adaptive Assurance of Timing Properties in a Real-Time Embedded System2018In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'18, 2018, p. 77-80Conference 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.

  • 10.
    Helali Moghadam, Mahshid
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Research Institutes of Sweden (RISE) SICS, Sweden .
    Saadatmand, Mehrdad
    Research Institutes of Sweden (RISE) SICS, Sweden .
    Borg, Markus
    Research Institutes of Sweden (RISE) SICS, Sweden .
    Bohlin, Markus
    Research Institutes of Sweden (RISE) SICS, Sweden .
    Lisper, Björn
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Machine Learning to Guide Performance Testing: An Autonomous Test Framework2019In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 2019, p. 164-167Conference 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.

  • 11.
    Marinescu, Raluca
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bucaioni, Alessio
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Seceleanu, Cristina
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Pettersson, Paul
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    A Model-Based Testing Framework for Automotive Embedded Systems2014In: The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014, Verona, Italy, 2014Conference paper (Refereed)
    Abstract [en]

    Architectural models, such as those described in the EAST-ADL language, represent convenient abstractions to reason about automotive embedded software systems. To enjoy the fully-fledged advantages of reasoning, EAST-ADL models could benefit from a component-aware analysis framework that provides, ideally, both verification and model-based test-case generation capabilities. While different verification techniques have been developed for architectural models, only a few target EAST-ADL. In this paper, we present a methodology for code validation, starting from EAST-ADL artifacts. The methodology relies on: (i) automated model-based test-case generation for functional requirements criteria based on the EAST-ADL model extended with timed automata semantics, and (ii) validation of system implementation by generating Python test scripts based on the abstract test-cases, which represent concrete test-cases that are executable on the system implementation. We apply our methodology to analyze the ABS function implementation of a Brake-by-Wire system prototype.

  • 12.
    Marinescu, Raluca
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bucaioni, Alessio
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Seceleanu, Cristina
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Pettersson, Paul
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    EAST-ADL Tailored Testing: From System Models to Executable Test Cases2013Report (Other academic)
    Abstract [en]

    Architectural models, such as those described in the EAST-ADL language, represent convenient abstractions to reason about embedded software systems. To enjoy the fully-fledged advantages of reasoning, EAST-ADL models require a component-aware analysis framework that provide, ideally, both verification and model-based test-case generation capabilities. In this paper, we extend ViTAL, our recently developed tool-supported framework for model-checking EAST-ADL models in Uppaal Port, with automated model-based test-case generation for functional requirements criteria. To validate the actual system implementation and exercise the feasibility of the abstract test-cases, we also show how to generate Python test scripts, from the ViTAL generated abstract test-cases. The scripts define the concrete test-cases that are executable on the system implementation, within the Farkle testing environment. Tool interoperability between ViTAL and Farkle is ensured by implementing a corresponding interface, compliant with the Open Services for Lifecycle collaboration (OSLC) standard. We apply our methodology to validate the ABS function implementation of a Brake-by-Wire system prototype.

  • 13.
    Saadatmand, Mehrdad
    Research Institutes of Sweden (RISE), Sweden.
    IntegrationDistiller: Automating Integration Analysis and Testing of Object-Oriented Applications2019In: 20th IEEE International Conference on Industrial Technology ICIT 2019, 2019, no 20Conference 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.

  • 14.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Preservation of Extra-Functional Properties in Embedded Systems Development2015Doctoral 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.

  • 15.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering.
    Satisfying Non-Functional Requirements in Model-Driven Development of Real-Time Embedded Systems2012Licentiate thesis, comprehensive summary (Other academic)
    Abstract [en]

    Design of real-time embedded systems is a complex and challenging task. Part of this complexity originates from their limited resources which incurs handling a big range of Non-Functional Requirements (NFRs). Therefore, satisfaction of NFRs plays an important role in the correctness of the design of these systems. Model-driven development has the potential to reduce the design complexity of real-time embedded systems by increasing the abstraction level, enabling analysis at earlier phases of development and code generation. In this thesis, we identify some of the challenges that exist in model-driven development of real-time embedded systems with respect to NFRs, and provide techniques and solutions that aim to help with the satisfaction of NFRs. Our end goal is to ensure that the set of NFRs defined for a system is not violated at runtime.

    First, we identify and highlight the challenges of modeling NFRs in telecommunication systems and discuss the application of a UML-based approach for modeling them. Since NFRs have dependencies, and the design decisions to satisfy them cannot be considered in isolation, we propose a model-based approach for trade-off analysis of NFRs to help with the comparison of different design models with respect to the satisfaction level of their NFRs. Following the issue of evaluating the interdependencies of NFRs, we also propose solutions for establishing and maintaining balance between different NFRs. In this regard, we categorize our suggested solutions into static and dynamic. The former refers to a static design and set of features which ensures and guarantees the balance of NFRs, while the latter means establishing balance at runtime by reconfiguring the system and runtime adaptation. Finally, we discuss the role of the execution platform in preservation and monitoring of timing properties in real-time embedded systems and propose an approach to enrich the platform with necessary mechanisms for monitoring them.

  • 16.
    Saadatmand, Mehrdad
    RISE SICS Västerås, Borås, Sweden..
    Towards Automating Integration Testing of .NET Applications using Roslyn2017In: The 2017 IEEE International Conference on Software Quality, Reliability and Security QRS 2017, 2017, p. 573-574Conference paper (Refereed)
    Abstract [en]

    The increasing complexity and size of software products combined with pressure to have shorter time-to-market is making manual testing techniques too costly and unscalable. This is particularly observed in industrial systems where continuous integration and deployment are applied. Therefore, there is a growing need to automate the testing process and make it scalable with respect to the context of real-world and large industrial applications. While there are already some solutions for generation of unit level test cases, automatic generation of integration level test cases to verify interaction of software components poses specific challenges especially in object-oriented applications. In this paper, we describe our on going work in introducing a solution to automate generation of integration test cases for C# applications by exploiting the code analysis capabilities of Microsoft .NET compiler platform known as Roslyn. This is done in collaboration with ABB Process Automation Control Technologies (PACT) in Västerås-Sweden, where the software for 800xA distributed control system is developed.

  • 17.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bucaioni, Alessio
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    OSLC Tool Integration and Systems Engineering - The Relationship Between The Two Worlds2014In: 2014 40TH EUROMICRO CONFERENCE SERIES ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2014), 2014, p. 93-101Conference paper (Refereed)
    Abstract [en]

    OSLC serves a new standard for the integration of tools used in different phases of software development. It enables to establish relationships among different data artifacts throughout the life cycle of an application. OSLC aims to provide seamless integration of life cycle management tools and it enables to have explicit relationships among data artifacts from the early development phases, i.e., requirements. This helps to gain a better holistic view over the development of software as a system development activity. Systems engineering is in essence an interdisciplinary approach to understand, design, and manage the complexity of different projects and phenomena throughout their life cycle. In this context, to have a holistic view of the system is not a desirable, but a fundamental prerequisite. In this work, we i) investigate how OSLC can strengthen a systemic view in tool integration scenarios and ii) discuss also how systems engineering concepts and principles can be relevant to describe such scenarios. This is done by identifying the relationships among systems engineering and OSLC key concepts. Finally, we show, as a proof of concept, a concrete application of OSLC in building an integrated tool chain.

  • 18.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Corcoran, Diarmuid
    Ericsson Software Research.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Toward a Tailored Modeling of Non-Functional Requirements for Telecommunication Systems2011In: Proceedings - 2011 8th International Conference on Information Technology: New Generations, ITNG 2011, 2011, p. 1044-1045Conference paper (Refereed)
    Abstract [en]

    Addressing non-functional requirements in Real-Time Embedded Systems (RTES) is of critical importance. Proper functionality of the whole system is heavily dependent on satisfying these requirements. In model-based approaches for development of the systems in RTES domain, there are several methods and languages for modeling and analysis of non-functional requirements. However, in this domain there are different types of systems that have different sets of non-functionalrequirements. The problem is that the general modeling approaches for RTES may not cover all the needs of these sub domains such as telecommunication. In this poster paper, we suggest an approach to complement and apply general RTES modeling languages to better cover different non-functional requirements oftelecommunication systems.

  • 19.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    A methodology for designing energy-aware secure embedded systems2011In: SIES 2011 - 6th IEEE International Symposium on Industrial Embedded Systems, Conference Proceedings, 2011, p. 87-90Conference paper (Refereed)
    Abstract [en]

    Bringing security aspects in earlier phases of development is one of the major shifts in software development trend. Model-driven development which helps with raising the abstraction level and facilitating earlier analysis and verification is a promising approach in this regard and there have been several efforts on modeling security aspects. However, the issue is that when it comes to embedded systems, non-functional requirements such as security are so interconnected that in order to satisfy one, trade-off analysis with other ones are necessary. Energy consumption is one of these requirements which is of great importance in embedded systems domain due to resource limitations that these systems have. In this paper, focusing on security and energy consumptions we propose a new methodology for model-driven design of embedded systems to bring energy measurements and estimations earlier in development phases and thus identify security design decisions that cause violations of specified energy requirements.

  • 20.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Design of Adaptive Security Mechanisms for Real-Time Embedded Systems2012In: Lecture Notes in Computer Science, vol. 7159, Eindhoven, The Netherlands: Springer, 2012, p. 121-134Chapter in book (Refereed)
    Abstract [en]

    Introducing security features in a system is not free and brings along its costs and impacts. Considering this fact is essential in the design of real-time embedded systems which have limited resources. To ensure correct design of these systems, it is important to also take into account impacts of security features on other non-functional requirements, such as performance and energy consumption. Therefore, it is necessary to perform trade-off analysis among non-functional requirements to establish balance among them. In this paper, we target the timing requirements of real-time embedded systems, and introduce an approach for choosing appropriate encryption algorithms at runtime, to achieve satisfaction of timing requirements in an adaptive way, by monitoring and keeping a log of their behaviors. The approach enables the system to adopt a less or more time consuming (but presumably stronger) encryption algorithm, based on the feedback on previous executions of encryption processes. This is particularly important for systems with high degree of complexity which are hard to analyze statistically. 

  • 21.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Enabling Trade-off Analysis of NFRs on Models of Embedded Systems2011In: 16th IEEE International Conference on Emerging Technology and Factory Automation (ETFA'11) , WiP session, Toulouse, France, 2011, p. 1-4Conference paper (Refereed)
    Abstract [en]

    Satisfaction of Non-Functional Requirements (NFR), is a key factor in successful design of embedded systems. This is mainly due to the constraints and resource limitations in these systems. A design that cannot achieve functionality of the system under these limitations is actually a failure. Therefore, NFRs in design of embedded systems deserve special attention. However, one big issue is that NFRs are interconnected and cannot be considered in isolation; especially that they can have direct impacts on each other such as security and performance. This means that a careful balance and trade-off analysis among NFRs is necessary. In this paper, we focus on this need and identify what information about NFRs is required in order to perform trade-off analysis. We propose and explain our in-progress approach to incorporate this information into system models in order to enable trade-off analysis. Our approach is based on UML profiling method to annotate model elements with necessary information.

  • 22.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering. Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering. Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering. Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Model-Based Trade-off Analysis of Non-Functional Requirements: An Automated UML-Based Approach2013In: International Journal of Advanced Computer Science IJACSci, ISSN 2251-6379, Vol. 3, no 11, p. 575-588Article in journal (Refereed)
    Abstract [en]

    One common goal followed by software engineers is to deliver a product which satisfies the requirements of different stakeholders. Software requirements are generally categorized into functional and Non-Functional Requirements (NFRs). While NFRs may not be the main focus in developing some applications, there are systems and domains where the satisfaction of NFRs is even critical and one of the main factors which can determine the success or failure of the delivered product, notably in embedded systems. While the satisfaction of functional requirements can be decomposed and determined locally, NFRs are interconnected and have impacts on each other. For this reason, they cannot be considered in isolation and a careful balance and trade-off among them needs to be established. We provide a generic model-based approach to evaluate the satisfaction of NFRs taking into account their mutual impacts and dependencies. By providing indicators regarding the satisfaction level of NFRs in the system, the approach enables to compare different system design models and also identify parts of the system which can be good candidates for modification in order to achieve better satisfaction levels.

  • 23.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Modeling and Trade-off Analysis of NFRs2012Report (Other academic)
  • 24.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    On Generating Security Implementations from Models of Embedded Systems2011Conference paper (Refereed)
  • 25.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    On the Need for Extending MARTE with Security Concepts2011In: 2nd International Workshop on Model Based Engineering for Embedded Systems Design (M-BED 2011), Grenoble (France), 2011Conference paper (Refereed)
  • 26.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Toward Model-Based Trade-off Analysis of Non-Functional Requirements2012In: Proceedings - 38th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2012), 2012, p. 142-149Conference paper (Refereed)
    Abstract [en]

    In this paper we introduce a generic approach to analyze system design models with regard to the satisfaction of their Non-Functional Requirements (NFRs) to enable the evaluation of their NFRs' trade-offs. NFRs and their satisfaction become especially critical and deserve more attention in certain application domains such as real-time and embedded systems. This is mainly due to the constraints and resource limitations in these systems. A design that cannot achieve the functionality of the system under these limitations can mean a failure. However, one big issue is that NFRs are interconnected and cannot be considered in isolation as they can have direct impacts on each other like security and performance. This means that a careful balance and trade-off analysis among NFRs is necessary. In doing so, the role of functional parts that contribute and are implemented to satisfy an NFR should also be taken into account. We focus on these needs and identify what information about NFRs is required in order to perform trade-off analysis and comparison of design models. We propose and explain our approach to incorporate this information into system models using UML profiling method to annotate model elements with necessary information and then calculate satisfaction values of NFRs using model transformation technique.

  • 27.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    UML-Based Modeling of Non-Functional Requirements in Telecommunication Systems2011In: The Sixth International Conference on Software Engineering Advances (ICSEA 2011), Barcelona, Spain: The Institute of Electrical and Electronics Engineers, Inc. , 2011, p. 213-220Conference paper (Refereed)
    Abstract [en]

    Successful design of real-time embedded systems relies heavily on the successful satisfaction of their non-functional requirements. Model-driven engineering is a promising approach for coping with the design complexity of embedded systems. However, when it comes to modeling non-functional requirements and covering specific aspects of different domains and types of embedded systems, general modeling languages for real-time embedded systems may not be able to cover all of these aspects. One solution is to use a combination of modeling languages for modeling different non-functional requirements as is done in the definition of EAST-ADL modeling language for automotive domain. In this paper, we propose a UML-based solution, consisting of different modeling languages, to model non-functional requirements in telecommunication domain, and discuss different challenges and issues in the design of telecommunication systems that are related to these requirements.

  • 28.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Leveque, Thomas
    Orange Labs, Meylan, France.
    Modeling Security Aspects in Distributed Real-Time Component-Based Embedded Systems2012In: Proceedings of the 9th International Conference on Information Technology, ITNG 2012, 2012, p. 437-444Conference paper (Refereed)
    Abstract [en]

    Model Driven Engineering (MDE) and Component Based Software Development (CBSD) are promising approaches to deal with the increasing complexity of Distributed Real-Time Critical Embedded Systems. On one hand, the functionality complexity of embedded systems is rapidly growing. On the other hand, extra-functional properties (EFP) must be taken into account and resource consumption must be optimized due to limited resources. However, EFP are not independent and impact each other. This paper introduces concepts and mechanisms that allow to model security specifications and derive automatically the corresponding security implementations by transforming the original component model into a secured one taking into account sensitive data flow in the system. The resulted architecture ensures security requirements by construction and is expressed in the original meta model; therefore, it enables using the same timing analysis and synthesis as with the original component model.

  • 29.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Leveque, Thomas
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Managing Timing Implications of Security Aspects in Model-Driven Development of Real-Time Embedded Systems2012In: International Journal On Advances in Security, ISSN 1942-2636, Vol. 5, no 3/4, p. 68-80Article in journal (Refereed)
    Abstract [en]

    Considering security as an afterthought and addingsecurity aspects to a system late in the development processhas now been realized to be an inefficient and bad approach tosecurity. The trend is to bring security considerations as earlyas possible in the design of systems. This is especially criticalin certain domains such as real-time embedded systems. Due todifferent constraints and resource limitations that these systemshave, the costs and implications of security features should becarefully evaluated in order to find appropriate ones whichrespect the constraints of the system. Model-Driven Development(MDD) and Component-Based Development (CBD) are twosoftware engineering disciplines which help to cope with theincreasing complexity of real-time embedded systems. WhileCBD enables the reuse of functionality and analysis results bybuilding systems out of already existing components, MDD helpsto increase the abstraction level, perform analysis at earlierphases of development, and also promotes automatic codegeneration. By using these approaches and including securityaspects in the design models, it becomes possible to considersecurity from early phases of development and also identifythe implications of security features. Timing issues are one ofthe most important factors for successful design of real-timeembedded systems. In this paper, we provide an approach usingMDD and CBD methods to make it easier for system designersto include security aspects in the design of systems and identifyand manage their timing implications and costs. Among differentsecurity mechanisms to satisfy security requirements, our focusin this paper is mainly on using encryption and decryptionalgorithms and consideration of their timing costs to designsecure systems.

  • 30.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Lindström, Birgitta
    University of Skövde.
    Aichernig, Bernhard K.
    Graz University of Technology, Austria.
    Message from the ITEQS 2018 Workshop Chairs2018In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'18, Västerås, Sweden, 2018Conference paper (Other (popular science, discussion, etc.))
  • 31.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering. Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Scholle, Detlef
    Alten AB, Stockholm, Sweden.
    Wing Leung, Cheuk
    Alten AB, Stockholm, Sweden.
    Ullström, Sebastian
    Alten AB, Stockholm, Sweden.
    Runtime Verification of State Machines and Defect Localization Applying Model-Based Testing2014In: WICSA '14 Companion, Proceedings of the WICSA 2014, Sydney, Australia, 2014, p. Article No.: 6-Conference paper (Refereed)
    Abstract [en]

    In this paper we introduce a method for runtime veri cation of the behavior of a system against state machines models in order to identify inconsistencies between the two. This is achieved by tracking states and transitions at runtime and comparing with the expected behavior of the system captured in the form of state machine models. The goal is to increase our con dence that the order of states at runtime matches what is speci ed by the models. The method also provides for defect localization by identifying that in the transition between which states a deviation from the expected behavior has occurred. The necessity and importance of the method lies in the fact that in model-based development, models are also used to perform analysis. Therefore, if there is any discrepancy between the behavior of the system at runtime and the models, then the result of model-based analyses which are performed may also be invalid and not applicable for the system anymore. For this purpose, in our method we create executable test cases from state machine models to test the runtime behavior of the system.

  • 32.
    Saadatmand, Mehrdad
    et al.
    Xdin Stockholm AB.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    On combining model-based analysis and testing2013In: Proceedings of the 2013 10th International Conference on Information Technology: New Generations, ITNG 2013, 2013, p. 260-266Conference paper (Refereed)
    Abstract [en]

    Testing a computer system is a challenging task, both due to the large number of possible test cases and the limited resources allocated for testing activities. This means that only a subset of all possible test cases can be chosen to test a system, and therefore the decision on the selection of test cases becomes important. The result of static analysis of a system can be used to help with this decision, in the context of model-based development of systems, this means that the analysis performed on a system model can be used to prioritize and guide the testing efforts. Furthermore, since models allow expression of non-functional requirements (such as performance, timing and security), model-guided testing can be used to direct testing towards specific parts of the system which have large impact on such requirements. In this paper, we focus on modeling and trade-off analysis of non-functional requirements and how static analysis helps to identify problematic parts of a system and thus guide the selection of test cases to target such parts. 

  • 33.
    Saadatmand, Mehrdad
    et al.
    XDIN AB, Stockholm, Sweden.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Testing of Timing Properties in Real-Time Systems: Verifying Clock Constraints2013In: Proceedings - Asia-Pacific Software Engineering Conference, APSEC, 2013, p. 152-152Conference paper (Refereed)
    Abstract [en]

    Ensuring that timing constraints in a real-time system are satisfied and met is of utmost importance. There are different static analysis methods that are introduced to statically evaluate the correctness of such systems in terms of timing properties, such as schedulability analysis techniques. Regardless of the fact that some of these techniques might be too pessimistic or hard to apply in practice, there are also situations that can still occur at runtime resulting in the violation of timing properties and thus invalidation of the static analyses' results. Therefore, it is important to be able to test the runtime behavior of a real-time system with respect to its timing properties. In this paper, we introduce an approach for testing the timing properties of real-time systems focusing on their internal clock constraints. For this purpose, test cases are generated from timed automata models that describe the timing behavior of real-time tasks. The ultimate goal is to verify that the actual timing behavior of the system at runtime matches the timed automata models. This is achieved by tracking and time-measuring of state transitions at runtime.

  • 34.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Towards Accurate Monitoring of Extra-Functional Properties in Real-Time Embedded Systems2012In: Asia-Pacific Software Engineering Conference, APSEC: Proceedings, 2012, p. 338-341Conference paper (Refereed)
    Abstract [en]

    Management and preservation of Extra-Functional Properties (EFPs) is critical in real-time embedded systems to ensure their correct behavior. Deviation of these properties, such as timing and memory usage, from their acceptable and valid values can impair the functionality of the system. In this regard, monitoring is an important means to investigate the state of the system and identify such violations. The monitoring result is also used to make adaptation and re-configuration decisions in the system as well. Most of the works related to monitoring EFPs are based on the assumption that monitoring results accurately represent the true state of the system at the monitoring request time point. In some systems this assumption can be safe and valid. However, if in a system the value of an EFP changes frequently, the result of monitoring may not accurately represent the state of the system at the time point when the monitoring request has been issued. The consequences of such inaccuracies can be critical in certain systems and applications. In this paper, we mainly introduce and discuss this practical problem and also provide a solution to improve the monitoring accuracy of EFPs.

  • 35.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Ul Mustafa, Naveed
    Royal Institute of Technology, KTH.
    Monitoring Capabilities of Schedulers in Model-Driven Development of Real-Time Systems2012In: IEEE Symposium on Emerging Technologies and Factory Automation, ETFA 2012, 2012, p. Article number: 6489589-Conference paper (Refereed)
    Abstract [en]

    Model-driven development has the potential to reduce the design complexity of real-time embedded systems by increasing the abstraction level, enabling analysis at earlier phases of development, and automatic generation of code from the models. In this context, capabilities of schedulers as part of the underlying platform play an important role. They can affect the complexity of code generators and how the model is implemented on the platform. Also, the way a scheduler monitors the timing behaviors of tasks and schedules them can facilitate the extraction of runtime information. This information can then be used as feedback to the original model in order to identify parts of the model that may need to be re-designed and modified. This is especially important in order to achieve round-trip support for model-driven development of real-time systems. In this paper, we describe our work in providing such monitoring features by introducing a second layer scheduler on top of the OSE real-time operating system's scheduler. The goal is to extend the monitoring capabilities of the scheduler without modifying the kernel. The approach can also contribute to the predictability of applications by bringing more awareness to the scheduler about the type of real-time tasks (i.e., periodic, sporadic, and aperiodic) that are to be scheduled and the information that should be monitored and logged for each type.

  • 36.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Ul Mustafa, Naveed
    School for Information and Communication Technology (ICT).
    The Role of Schedulers in Model-Driven Development of Real-Time Systems2012Report (Other academic)
    Abstract [en]

    Design of real-time embedded systems is a complex and challenging task. Model-driven development has the potential to reduce the design complexity of real-time embedded systems by increasing the abstraction level, enabling analysis at earlier phases of development, and automatic generation of code from the models. In this context, capabilities of schedulers as part of the underlying platform play an important role. They can affect the complexity of code generators and how the model is implemented on the platform. Also, the way a scheduler monitors timing behaviors of tasks and schedules them can facilitate extraction of runtime information. This information can then be used as feedback to the original model in order to identify parts of the model that may require to be re-designed and modified. In this paper, we describe our work in providing these features by introducing a second layer scheduler on top of OSE real-time operating system’s scheduler. The approach can also contribute to the predictability of systems by bringing more awareness to the scheduler about the type of real-time tasks (i.e., periodic, sporadic, and aperiodic) that are to be scheduled, and the information that should be monitored and logged for each type.

  • 37.
    Saadatmand, Mehrdad
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Swedish Institute of Computer Science (SICS), Vasteras, Sweden.
    Tahvili, Sahar
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    A Fuzzy Decision Support Approach for Model-Based Tradeoff Analysis of Non-Functional Requirements2015In: 12th International Conference on Information Technology: New Generations ITNG 2015, Las Vegas, United States, 2015, Vol. Article number 7113458, p. 112-121Conference 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.

  • 38.
    Tahvili, Sahar
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. RISE SICS Västerås, Sweden.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    RISE SICS Västerås, Sweden.
    Bohlin, Markus
    RISE SICS Västerås, Sweden.
    Hasan Ameerjan, Sharvathul
    ESPRET: A Tool for Execution Time Estimation of Manual Test Cases2018In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 146, p. 26-41Article in journal (Refereed)
    Abstract [en]

    Manual testing is still a predominant and an important approach for validation of computer systems, particularly in certain domains such as safetycritical 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 specifcation. 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.

  • 39.
    Tahvili, Sahar
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bohlin, Markus
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sundmark, Daniel
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Larsson, Stig
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Towards Earlier Fault Detection by Value-Driven Prioritization of Test Cases Using Fuzzy TOPSIS2016In: Information Technology: New Generations, vol. 440, Las Vegas, United States, 2016, p. 745-759Conference 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.

  • 40.
    Tahvili, Sahar
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bohlin, Markus
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Larsson, Stig
    SICS, Sweden.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sundmark, Daniel
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Cost-Benefit Analysis of Using Dependency Knowledge at Integration Testing2016In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2016, Vol. 10027, p. 268-284Conference 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.

  • 41.
    Tahvili, Sahar
    et al.
    RISE, SICS, Västerås, Sweden.
    Hatvani, Leo
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Felderer, Michael
    University of Innsbruck, Austria, Sweden.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    RISE, SICS, Västerås, Sweden.
    Bohlin, Markus
    RISE, SICS, Västerås, Sweden.
    Cluster-Based Test Scheduling Strategies Using Semantic Relationships between Test Specifications2018In: 5th International Workshop on Requirements Engineering and Testing RET'18, 2018, Vol. F137811, p. 1-4Conference paper (Refereed)
    Abstract [en]

    One of the challenging issues in improving the test efficiency is that of achieving a balance between testing goals and testing resources. Test execution scheduling is one way of saving time and budget, where a set of test cases are grouped and tested at the same time. To have an optimal test execution schedule, all related information of a test case (e.g. execution time, functionality to be tested, dependency and similarity with other test cases) need to be analyzed. Test scheduling problem becomes more complicated at high-level testing, such as integration testing and especially in manual testing procedure. Test specifications at high-level are generally written in natural text by humans and usually contain ambiguity and uncertainty. Therefore, analyzing a test specification demands a strong learning algorithm. In this position paper, we propose a natural language processing (NLP) based approach that, given test specifications at the integration level, allows automatic detection of test cases’ semantic dependencies. The proposed approach utilizes the Doc2Vec algorithm and converts each test case into a vector in n-dimensional space. These vectors are then grouped using the HDBSCAN clustering algorithm into semantic clusters. Finally, a set of cluster-based test scheduling strategies are proposed for execution. The proposed approach has been applied in a sub-system from the railway domain by analyzing an ongoing testing project at Bombardier Transportation AB, Sweden.

  • 42.
    Tahvili, Sahar
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. SICS Swedish ICT Västerås AB, Sweden.
    Saadatmand, Mehrdad
    SICS Swedish ICT Västerås AB, Sweden.
    Bohlin, Markus
    SICS Swedish ICT Västerås AB, Sweden.
    Multi-Criteria Test Case Prioritization Using Fuzzy Analytic Hierarchy Process2015In: ICSEA 2015: The Tenth International Conference on Software Engineering Advances, 2015, p. 290-296Conference 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.

  • 43.
    Tahvili, Sahar
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bohlin, Markus
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Hasan Ameerjan, Sharvathul
    Towards Execution Time Prediction for Test Cases from Test Specification2017In: 2017 43RD EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA), Vienna, Austria, 2017, p. 421-425Conference 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.

  • 44.
    Tahvili, Sahar
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Saadatmand, Mehrdad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Larsson, Stig
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. ww.sics.se.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Bohlin, Markus
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Sundmark, Daniel
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Dynamic Integration Test Selection Based on Test Case Dependencies2016In: 2016 IEEE NINTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW), Chicago, United States, 2016, p. 277-286Conference 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.

1 - 44 of 44
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf