mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 77) Show all publications
Khanfar, H., Lisper, B. & Mubeen, S. (2019). Demand-Driven Static Backward Slicing for Unstructured Programs.
Open this publication in new window or tab >>Demand-Driven Static Backward Slicing for Unstructured Programs
2019 (English)Report (Other academic)
Abstract [en]

Backward program slicing identifies the program parts that might influence a particular variable at a program point. A program part (e.g., a statement) can be directly influenced by another part due to its data or control dependence on the later. The classical program slicing approaches are designed to find in advance all the data and control dependencies in the program. This design entails a considerable amount of unnecessary computations because not all the dependencies are required for computing the slice. Demand-driven program slicing approaches try to raise the analysis performance by avoiding the unnecessary computations. However, these approaches cannot address unstructured programs in a demand-driven fashion. On the other hand, the existing techniques that compute the control dependencies in unstructured programs are based on fixed-point iterations, which limits their integration to the demand-driven slicing approaches. Program slicing based on Predicate Code Block (PCB) is a new demand-driven slicing approach that can address only structured programs. This paper presents the first demand-driven technique to compute the control dependencies in unstructured programs. In this regard, the technique uses flow information, location-based information and syntactic structure of the source code. Further, the paper shows how the new technique can be integrated to the PCB-based slicing approach to address unstructured programs.

Keywords
Static Program AnalysisPredicate Control BlockControl DependenceStatic Program SlicingUnstructured Programs.
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-45033 (URN)MDH-MRTC-324/2019-1-SE (ISRN)
Projects
TESTOMAT Project - The Next Level of Test Automation
Available from: 2019-08-22 Created: 2019-08-22 Last updated: 2019-09-17Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2019). Machine Learning to Guide Performance Testing: An Autonomous Test Framework. In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19: . Paper presented at ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 22 Apr 2019, Xi’an, China (pp. 164-167).
Open this publication in new window or tab >>Machine Learning to Guide Performance Testing: An Autonomous Test Framework
Show others...
2019 (English)In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 2019, p. 164-167Conference paper, Published paper (Refereed)
Abstract [en]

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

Keywords
performance requirements, performance testing, test case generation, reinforcement learning, autonomous testing
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-43918 (URN)10.1109/ICSTW.2019.00046 (DOI)000477742600022 ()2-s2.0-85068406208 (Scopus ID)
Conference
ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'19, 22 Apr 2019, Xi’an, China
Available from: 2019-06-14 Created: 2019-06-14 Last updated: 2019-10-11Bibliographically approved
Faragardi, H. R., Lisper, B., Sandström, K. & Nolte, T. (2018). A resource efficient framework to run automotive embedded software on multi-core ECUs. Journal of Systems and Software, 64-83
Open this publication in new window or tab >>A resource efficient framework to run automotive embedded software on multi-core ECUs
2018 (Swedish)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, p. 64-83Article in journal (Refereed) Published
Abstract [en]

The increasing functionality and complexity of automotive applications requires not only the use of more powerful hardware, e.g., multi-core processors, but also efficient methods and tools to support design decisions. Component-based software engineering proved to be a promising solution for managing software complexity and allowing for reuse. However, there are several challenges inherent in the intersection of resource efficiency and predictability of multi-core processors when it comes to running component-based embedded software. In this paper, we present a software design framework addressing these challenges. The framework includes both mapping of software components onto executable tasks, and the partitioning of the generated task set onto the cores of a multi-core processor. This paper aims at enhancing resource efficiency by optimizing the software design with respect to: 1) the inter-software-components communication cost, 2) the cost of synchronization among dependent transactions of software components, and 3) the interaction of software components with the basic software services. An engine management system, one of the most complex automotive sub-systems, is considered as a use case, and the experimental results show a reduction of up to 11.2% total CPU usage on aquad-core processor, in comparison with the common framework in the literature. 

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-36448 (URN)10.1016/j.jss.2018.01.040 (DOI)000428493000005 ()2-s2.0-85041901291 (Scopus ID)
Available from: 2017-09-18 Created: 2017-09-18 Last updated: 2019-06-26Bibliographically approved
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: 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: . Paper presented at 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems SEAMS 18, 28 May 2018, Gothenburg, Sweden (pp. 217-223). , 28 May
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: 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, 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.

Series
Proceedings - International Conference on Software Engineering, ISSN 0270-5257
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)10.1145/3194133.3194153 (DOI)000458799600029 ()2-s2.0-85051555083 (Scopus ID)
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: 2019-03-07Bibliographically approved
Masud, A. N., Lisper, B. & Ciccozzi, F. (2018). Automatic Inference of Task Parallelism in Task-graph-based Actor Models. IEEE Access, 6, 78965-78991
Open this publication in new window or tab >>Automatic Inference of Task Parallelism in Task-graph-based Actor Models
2018 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 6, p. 78965-78991Article in journal (Refereed) Published
Abstract [en]

Automatic inference of task level parallelism is fundamental for ensuring many kinds of safety and liveness properties of parallel applications. For example, two tasks running in parallel may be involved in data races when they have conflicting memory accesses, or one is affecting the termination of another by updating shared variables. In this article, we have considered a task-graph-based actor model, used in signal processing applications (e.g., baseband processing in wireless communication, LTE uplink processing) that are deployed on many-core platforms, in which actors, task-graphs and tasks are the active entities running in parallel. Actors invoke task graphs, which in turn invoke tasks, and they communicate through message passing, thus creating different kinds of dependencies and parallelism in the application. We introduce a novel May Happen in Parallel (MHP) analysis for complex parallel applications based on our computational model. The MHP analysis consists of (i) data-flow analysis applicable to parallel control-flow structures inferring MHP facts representing pairs of tasks running in parallel, (ii) identification of all direct and indirect communication by generating a context-free grammar and enumerating valid strings representing parallelism and dependencies among active entities, and (iii) inferring MHP facts when multiple task-graphs communicate. Our analysis is applicable to other computational models (e.g. Cilk or X10) too. We have fully implemented our analysis and evaluated it on signal processing applications consisting of a maximum of 36.57 million lines of code representing 232 different tasks. The analysis approximately 7 minutes to identify all communication information and 10.5 minutes to identify 12052 executable parallel task-pairs (to analyse for concurrency bugs) proving that our analysis is scalable for industrial-sized code-bases.

Keywords
May happen in parallel, data flow analysis, actor model, parallel task graph, graph reachability, UML profile
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41748 (URN)10.1109/ACCESS.2018.2885705 (DOI)000454857600001 ()2-s2.0-85058163957 (Scopus ID)2169-3536 (ISBN)
Projects
Static Program Analysis for Complex Embedded systemsMOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Available from: 2018-12-18 Created: 2019-01-25 Last updated: 2019-01-17Bibliographically approved
Marcus, J., Ermedahl, A., Eldh, S., Behnam, M. & Lisper, B. (2018). Enforcing Quality of Service Through Hardware Resource Aware Process Scheduling. In: IEEE International Conference on Emerging Technologies and Factory Automation, ETFA: . Paper presented at 23rd IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2018, 4 September 2018 through 7 September 2018 (pp. 329-336). Institute of Electrical and Electronics Engineers Inc.
Open this publication in new window or tab >>Enforcing Quality of Service Through Hardware Resource Aware Process Scheduling
Show others...
2018 (English)In: IEEE International Conference on Emerging Technologies and Factory Automation, ETFA, Institute of Electrical and Electronics Engineers Inc. , 2018, p. 329-336Conference paper, Published paper (Refereed)
Abstract [en]

Hardware manufacturers are forced to improve system performance continuously due to advanced and computationally demanding system functions. Unfortunately-more powerful hardware leads to increased costs. Instead, companies attempt to improve performance by consolidating multiple functions to share the same hardware to exploit existing performance instead. In legacy systems, each function had individual execution environment that guaranteed HW resource isolation and therefore the Quality of Service (QoS). Consolidation of multiple functions increases the risk of shared resource congestion. Current process schedulers focus on time quanta and do not consider shared resources. We present a novel process scheduler that complements current process schedulers by enforcing QoS though Shared Resource Aware (SRA) process scheduling. The SRA scheduler programs the Performance Monitoring Unit (PMU) to generate an overflow interrupt when reaching the assigned process resource quota. The scheduler has the possibility to swap out the process when receiving the interrupt allowing it to enforce the QoS for the scheduled process. We have implemented our scheduling policy as a new scheduling class in Linux. Our experiments show that it efficiently enforces QoS without seriously affect the shared resource usage of other processes executing on the same HW. © 2018 IEEE.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2018
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41507 (URN)10.1109/ETFA.2018.8502609 (DOI)000449334500040 ()2-s2.0-85057231617 (Scopus ID)9781538671085 (ISBN)
Conference
23rd IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2018, 4 September 2018 through 7 September 2018
Available from: 2018-12-06 Created: 2018-12-06 Last updated: 2018-12-27Bibliographically approved
Jagemar, M., Ermedahl, A., Eldh, S., Behnam, M. & Lisper, B. (2018). Enforcing Quality of Service Through Hardware Resource Aware Process Scheduling. In: 2018 IEEE 23RD INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA): . Paper presented at 23rd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), SEP 04-07, 2018, Politecnico Torino, Torino, ITALY (pp. 329-336). IEEE
Open this publication in new window or tab >>Enforcing Quality of Service Through Hardware Resource Aware Process Scheduling
Show others...
2018 (English)In: 2018 IEEE 23RD INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), IEEE , 2018, p. 329-336Conference paper, Published paper (Refereed)
Abstract [en]

Hardware manufacturers are forced to improve system performance continuously due to advanced and computationally demanding system functions. Unfortunately - more powerful hardware leads to increased costs. Instead, companies attempt to improve performance by consolidating multiple functions to share the same hardware to exploit existing performance instead. In legacy systems, each function had individual execution environment that guaranteed HW resource isolation and therefore the Quality of Service (QoS). Consolidation of multiple functions increases the risk of shared resource congestion. Current process schedulers focus on time quanta and do not consider shared resources. We present a novel process scheduler that complements current process schedulers by enforcing QoS though Shared Resource Aware (SRA) process scheduling. The SRA scheduler programs the Performance Monitoring Unit (PMU) to generate an overflow interrupt when reaching the assigned process resource quota. The scheduler has the possibility to swap out the process when receiving the interrupt allowing it to enforce the QoS for the scheduled process. We have implemented our scheduling policy as a new scheduling class in Linux. Our experiments show that it efficiently enforces QoS without seriously affect the shared resource usage of other processes executing on the same HW.

Place, publisher, year, edition, pages
IEEE, 2018
Series
IEEE International Conference on Emerging Technologies and Factory Automation-ETFA, ISSN 1946-0740
National Category
Computer Engineering Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41379 (URN)000449334500040 ()978-1-5386-7108-5 (ISBN)
Conference
23rd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), SEP 04-07, 2018, Politecnico Torino, Torino, ITALY
Available from: 2019-10-18 Created: 2019-10-18 Last updated: 2019-10-18
Felderer, M., Gurov, D., Huisman, M., Lisper, B. & Schlick, R. (2018). Formal methods in industrial practice - Bridging the gap (track summary). In: Lect. Notes Comput. Sci.: . Paper presented at 5 November 2018 through 9 November 2018 (pp. 77-81). Springer Verlag
Open this publication in new window or tab >>Formal methods in industrial practice - Bridging the gap (track summary)
Show others...
2018 (English)In: Lect. Notes Comput. Sci., Springer Verlag , 2018, p. 77-81Conference paper, Published paper (Refereed)
Abstract [en]

Already for many decades, formal methods are considered to be the way forward to help the software industry to make more reliable and trustworthy software. However, despite this strong belief, and many individual success stories, no real change in industrial software development seems to happen. In fact, the software industry is moving fast forward itself, and the gap between what formal methods can achieve, and the daily software development practice does not seem to get smaller (and might even be growing).

Place, publisher, year, edition, pages
Springer Verlag, 2018
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 11247 LNCS
Keywords
Industrial management, Software design, Fast forward, Industrial practices, Industrial software development, Software development practices, Software industry, Trustworthy softwares, Formal methods
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41446 (URN)10.1007/978-3-030-03427-6_10 (DOI)2-s2.0-85056479295 (Scopus ID)9783030034269 (ISBN)
Conference
5 November 2018 through 9 November 2018
Available from: 2018-11-29 Created: 2018-11-29 Last updated: 2018-11-29Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2018). Learning-based Response Time Analysis in Real-Time Embedded Systems: A Simulation-based Approach. In: 1st International Workshop on Software Qualities and their Dependencies, located at the International Conference of Software Engineering (ICSE) 2018 SQUADE'18: . Paper presented at 1st International Workshop on Software Qualities and their Dependencies, located at the International Conference of Software Engineering (ICSE) 2018 SQUADE'18, 27 May 2018, Gothenburg, Sweden (pp. 21-24).
Open this publication in new window or tab >>Learning-based Response Time Analysis in Real-Time Embedded Systems: A Simulation-based Approach
Show others...
2018 (English)In: 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, Published paper (Refereed)
Abstract [en]

Response time analysis is an essential task to verify the behavior of real-time systems. Several response time analysis methods have been proposed to address this challenge, particularly for real-time systems with different levels of complexity. Static analysis is a popular approach in this context, but its practical applicability is limited due to the high complexity of the industrial real-time systems, as well as many unpredictable 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.

Series
Proceedings - International Conference on Software Engineering, ISSN 0270-5257
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38956 (URN)10.1145/3194095.3194097 (DOI)000449622800004 ()2-s2.0-85051494988 (Scopus ID)9781450357371 (ISBN)
Conference
1st International Workshop on Software Qualities and their Dependencies, located at the International Conference of Software Engineering (ICSE) 2018 SQUADE'18, 27 May 2018, Gothenburg, Sweden
Available from: 2018-05-15 Created: 2018-05-15 Last updated: 2019-01-16Bibliographically approved
Helali Moghadam, M., Saadatmand, M., Borg, M., Bohlin, M. & Lisper, B. (2018). Learning-Based Self-Adaptive Assurance of Timing Properties in a Real-Time Embedded System. In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'18: . Paper presented at ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'18, 09 Apr 2018, Västerås, Sweden (pp. 77-80).
Open this publication in new window or tab >>Learning-Based Self-Adaptive Assurance of Timing Properties in a Real-Time Embedded System
Show others...
2018 (English)In: ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'18, 2018, p. 77-80Conference paper, Published paper (Refereed)
Abstract [en]

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

Keywords
Timing properties, self-adaptive performance assurance, real-time embedded systems, reinforcement learning
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38954 (URN)10.1109/ICSTW.2018.00031 (DOI)000492760300011 ()2-s2.0-85050958526 (Scopus ID)9781538663523 (ISBN)
Conference
ICST Workshop on Testing Extra-Functional Properties and Quality Characteristics of Software Systems ITEQS'18, 09 Apr 2018, Västerås, Sweden
Available from: 2018-05-15 Created: 2018-05-15 Last updated: 2019-11-14Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0001-5297-6548

Search in DiVA

Show all publications