mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 31) Show all publications
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
Abbaspour Asadollah, S., Sundmark, D., Eldh, S., Hansson, H. & Afza, W. (2017). 10 Years of research on debugging concurrent and multicore software: a systematic mapping study. Software quality journal, 25(1), 49-82
Open this publication in new window or tab >>10 Years of research on debugging concurrent and multicore software: a systematic mapping study
Show others...
2017 (English)In: Software quality journal, ISSN 0963-9314, E-ISSN 1573-1367, Vol. 25, no 1, p. 49-82Article in journal (Refereed) Published
Abstract [en]

Debugging – the process of identifying, localizing and fixing bugs – is a key activity in software development. Due to issues such as non-determinism and difficulties of reproducing failures, debugging concurrent software is significantly more challenging than debugging sequential software. A number of methods, models and tools for debugging concurrent and multicore software have been proposed, but the body of work partially lacks a common terminology and a more recent view of the problems to solve. This suggests the need for a classification, and an up-to-date comprehensive overview of the area. 

This paper presents the results of a systematic mapping study in the field of debugging of concurrent and multicore software in the last decade (2005– 2014). The study is guided by two objectives: (1) to summarize the recent publication trends and (2) to clarify current research gaps in the field.

Through a multi-stage selection process, we identified 145 relevant papers. Based on these, we summarize the publication trend in the field by showing distribution of publications with respect to year , publication venues , representation of academia and industry , and active research institutes . We also identify research gaps in the field based on attributes such as types of concurrency bugs, types of debugging processes , types of research  and research contributions.

The main observations from the study are that during the years 2005–2014: (1) there is no focal conference or venue to publish papers in this area, hence a large variety of conferences and journal venues (90) are used to publish relevant papers in this area; (2) in terms of publication contribution, academia was more active in this area than industry; (3) most publications in the field address the data race bug; (4) bug identification is the most common stage of debugging addressed by articles in the period; (5) there are six types of research approaches found, with solution proposals being the most common one; and (6) the published papers essentially focus on four different types of contributions, with ”methods” being the type most common one.

We can further conclude that there is still quite a number of aspects that are not sufficiently covered in the field, most notably including (1) exploring correction  and fixing bugs  in terms of debugging process; (2) order violation, suspension  and starvation  in terms of concurrency bugs; (3) validation and evaluation research  in the matter of research type; (4) metric  in terms of research contribution. It is clear that the concurrent, parallel and multicore software community needs broader studies in debugging.This systematic mapping study can help direct such efforts.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-31419 (URN)10.1007/s11219-015-9301-7 (DOI)000394524400003 ()2-s2.0-84955305408 (Scopus ID)
Projects
SYNOPSIS project
Available from: 2016-04-12 Created: 2016-04-12 Last updated: 2018-10-29Bibliographically approved
Marcus, J., Ermedahl, A., Eldh, S. & Behnam, M. (2017). A Scheduling Architecture for Enforcing Quality of Service in Multi-Process Systems. In: International Conference on Emerging Technologies And Factory Automation ETFA'17: . Paper presented at International Conference on Emerging Technologies And Factory Automation ETFA'17, 12 Aug 2017, Limassol, Cyprus (pp. 1-8).
Open this publication in new window or tab >>A Scheduling Architecture for Enforcing Quality of Service in Multi-Process Systems
2017 (English)In: International Conference on Emerging Technologies And Factory Automation ETFA'17, 2017, p. 1-8Conference paper, Published paper (Refereed)
Abstract [en]

There is a massive deployment of multi-core CPUs. It requires a significant drive to consolidate multiple services while still achieving high performance on these off-the-shelf CPUs. Each function had earlier an own execution environment, which guaranteed a certain Quality of Service (QoS). Consolidating multiple services can give rise to shared resource congestions, resulting in lower and non-deterministic QoS. We describe a method to increase the overall system performance by assisting the operating system process scheduler to utilize shared resources more efficiently. Our method utilizes hardware- and system-level performance counters to profile the shared resource usage of each process. We also use a big-data approach to analyzing statistics from many nodes. The outcome of the analysis is a decision support model that is utilized by the process scheduler when allocating and scheduling process. Our scheduler can efficiently distribute processes compared to traditional CPU-load based process schedulers by considering the hardware capacity and previous scheduling- and allocation decisions.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37025 (URN)10.1109/ETFA.2017.8247613 (DOI)000427812000048 ()2-s2.0-85044479964 (Scopus ID)9781509065059 (ISBN)
Conference
International Conference on Emerging Technologies And Factory Automation ETFA'17, 12 Aug 2017, Limassol, Cyprus
Projects
ITS-EASY Post Graduate School for Embedded Software and SystemsDPAC - Dependable Platforms for Autonomous systems and Control
Available from: 2017-11-20 Created: 2017-11-20 Last updated: 2019-06-25Bibliographically approved
Wiklund, K., Eldh, S., Daniel, S. & Lundqvist, K. (2017). Impediments for software test automation: A systematic literature review. Software testing, verification & reliability, 27(8), Article ID e1639.
Open this publication in new window or tab >>Impediments for software test automation: A systematic literature review
2017 (English)In: Software testing, verification & reliability, ISSN 0960-0833, E-ISSN 1099-1689, Vol. 27, no 8, article id e1639Article in journal (Refereed) Published
Abstract [en]

Automated software testing is a critical enabler for modern software development, where rapid feedback on the product quality is expected. To make the testing work well, it is of high importance that impediments related to test automation are prevented and removed quickly. An enabling factor for all types of improvement is to understand the nature of what is to be improved. We have performed a systematic literature review of reported impediments related to software test automation to contribute to this understanding. In this paper, we present the results from the systematic literature review: The list of identified publications, a categorization of identified impediments, and a qualitative discussion of the impediments proposing a socio-technical system model of the use and implementation of test automation. 

Place, publisher, year, edition, pages
John Wiley and Sons Ltd, 2017
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37450 (URN)10.1002/stvr.1639 (DOI)000416326500001 ()2-s2.0-85035192367 (Scopus ID)
Available from: 2017-12-14 Created: 2017-12-14 Last updated: 2017-12-14Bibliographically approved
Abbaspour Asadollah, S., Saadatmand, M., Eldh, S., Sundmark, D. & Hansson, H. (2016). A Model for Systematic Monitoring and Debugging of Starvation Bugs in Multicore Software. In: 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016: . Paper presented at 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 3-7 Sep 2016, Singapore, Singapore.
Open this publication in new window or tab >>A Model for Systematic Monitoring and Debugging of Starvation Bugs in Multicore Software
Show others...
2016 (English)In: 2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 2016Conference paper, Published paper (Refereed)
Abstract [en]

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

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-32885 (URN)2-s2.0-85054810213 (Scopus ID)
Conference
2016 ASE Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs SCTDCP2016, 3-7 Sep 2016, Singapore, Singapore
Projects
SYNOPSIS - Safety Analysis for Predictable Software Intensive Systems
Available from: 2016-08-26 Created: 2016-08-24 Last updated: 2018-10-26Bibliographically approved
Abbaspour Asadollah, S., Sundmark, D., Eldh, S., Hansson, H. & Paul Enoiu, E. (2016). A Study on Concurrency Bugs in an Open Source Software. In: IFIP Advances in Information and Communication Technology, vol. 472: . Paper presented at 12th IFIP WG 2.13 International Conference on Open Source Systems: Integrating Communities, OSS 2016; Gothenburg; Sweden; 30 May 2016 through 2 June 2016 (pp. 16-31). , 472
Open this publication in new window or tab >>A Study on Concurrency Bugs in an Open Source Software
Show others...
2016 (English)In: IFIP Advances in Information and Communication Technology, vol. 472, 2016, Vol. 472, p. 16-31Conference paper, Published paper (Refereed)
Abstract [en]

Concurrent programming puts demands on software debugging and testing, as concurrent software may exhibit problems not present in sequential software, e.g., deadlocks and race conditions. In aiming to increase efficiency and effectiveness of debugging and bug-fixing for concurrent software, a deep understanding of concurrency bugs, their frequency and fixingtimes would be helpful. Similarly, to design effective tools and techniques for testing and debugging concurrent software understanding the differences between non-concurrency and concurrency bugs in real-word software would be useful.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-31417 (URN)10.1007/978-3-319-39225-7_2 (DOI)000383203700002 ()2-s2.0-84971537277 (Scopus ID)978-3-319-39224-0 (ISBN)
Conference
12th IFIP WG 2.13 International Conference on Open Source Systems: Integrating Communities, OSS 2016; Gothenburg; Sweden; 30 May 2016 through 2 June 2016
Available from: 2016-04-12 Created: 2016-04-12 Last updated: 2016-10-06Bibliographically approved
Jägemar, M., Lisper, B., Eldh, S., Ermedahl, A. & Andai, G. (2016). Automatic Benchmarking for Early-Stage Performance Verification of Industrial Systems.
Open this publication in new window or tab >>Automatic Benchmarking for Early-Stage Performance Verification of Industrial Systems
Show others...
2016 (English)Manuscript (preprint) (Other academic)
National Category
Computer Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-31499 (URN)
Available from: 2016-05-03 Created: 2016-05-03 Last updated: 2018-01-10Bibliographically approved
Jägemar, M., Eldh, S., Ermedahl, A. & Lisper, B. (2016). Automatic Message Compression with Overload Protection. Journal of Systems and Software, 121(1 nov), 209-222
Open this publication in new window or tab >>Automatic Message Compression with Overload Protection
2016 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 121, no 1 nov, p. 209-222Article in journal (Refereed) Published
Abstract [en]

In this paper, we show that it is possible to increase the message throughput of a large-scale industrial system by selectively compress messages. The demand for new high-performance message processing systems conflicts with the cost effectiveness of legacy systems. The result is often a mixed environment with several concurrent system generations. Such a mixed environment does not allow a complete replacement of the communication backbone to provide the increased messaging performance. Thus, performance-enhancing software solutions are highly attractive. Our contribution is 1) an online compression mechanism that automatically selects the most appropriate compression algorithm to minimize the message round trip time; 2) a compression overload mechanism that ensures ample resources for other processes sharing the same CPU. We have integrated 11 well-known compression algorithms/configurations and tested them with production node traffic. In our target system, automatic message compression results is a 9.6% reduction of message round trip time. The selection procedure is fully automatic and does not require any manual intervention. The automatic behavior makes it particularly suitable for large systems where it is difficult to predict future system behavior.

Keywords
Automatic compression, Message compression, Feedback control, Performance prediction, Network performance, Mobile systems
National Category
Computer Engineering
Identifiers
urn:nbn:se:mdh:diva-31500 (URN)10.1016/j.jss.2016.04.010 (DOI)000384864500015 ()2-s2.0-84966728710 (Scopus ID)
Available from: 2016-05-03 Created: 2016-05-03 Last updated: 2018-01-10Bibliographically approved
Hassan, M. M., Afzal, W., Blom, M., Lindström, B., Andler, S. F. & Eldh, S. (2015). Testability and Software Robustness: A Systematic Literature Review. In: The 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA'15: . Paper presented at The 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA'15, 26 Aug 2015, Funchal, Madeira, Portugal (pp. 341-348). Funchal, Madeira, Portugal
Open this publication in new window or tab >>Testability and Software Robustness: A Systematic Literature Review
Show others...
2015 (English)In: The 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA'15, Funchal, Madeira, Portugal, 2015, p. 341-348Conference paper, Published paper (Refereed)
Abstract [en]

The concept of software testability has been researched in several different dimensions, however the relation of this important concept with other quality attributes is a grey area where existing evidence is scattered. The objective of this study is to present a state-of-the-art with respect to issues of importance concerning software testability and an important quality attribute: software robustness. The objective is achieved by conducting a systematic literature review (SLR) on the topic. Our results show that a variety of testability issues are in focus with observability and controllability issues being most researched. Fault tolerance, exception handling and handling external influence are prominent robustness issues in focus.

Place, publisher, year, edition, pages
Funchal, Madeira, Portugal: , 2015
National Category
Engineering and Technology Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-28165 (URN)10.1109/SEAA.2015.47 (DOI)000380478300049 ()2-s2.0-84958246873 (Scopus ID)
External cooperation:
Conference
The 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA'15, 26 Aug 2015, Funchal, Madeira, Portugal
Projects
TOCSYC - Testing of Critical System Characteristics (KKS)
Available from: 2015-06-08 Created: 2015-06-08 Last updated: 2016-09-01Bibliographically approved
Abbaspour Asadollah, S., Hansson, H., Sundmark, D. & Eldh, S. (2015). Towards Classification of Concurrency Bugs Based on Observable Properties. In: Proceedings - 1st International Workshop on Complex Faults and Failures in Large Software Systems, COUFLESS 2015: . Paper presented at First International Workshop on Complex Faults and Failures in Large Software systems, COUFFLESS 2015, May 23, 2015 (pp. 41-47).
Open this publication in new window or tab >>Towards Classification of Concurrency Bugs Based on Observable Properties
2015 (English)In: Proceedings - 1st International Workshop on Complex Faults and Failures in Large Software Systems, COUFLESS 2015, 2015, p. 41-47Conference paper, Published paper (Refereed)
Abstract [en]

In software engineering, classification is a way to find an organized structure of knowledge about objects. Classification serves to investigate the relationship between the items to be classified, and can be used to identify the current gaps in the field. In many cases users are able to order and relate objects by fitting them in a category. This paper presents initial work on a taxonomy for classification of errors (bugs) related to concurrent execution of application level software threads. By classifying concurrency bugs based on their corresponding observable properties, this research aims to examine and structure the state of the art in this field, as well as to provide practitioner support for testing and debugging of concurrent software. We also show how the proposed classification, and the different classes of bugs, relates to the state of the art in the field by providing a mapping of the classification to a number of recently published papers in the software engineering field.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-28159 (URN)10.1109/COUFLESS.2015.14 (DOI)000380460500007 ()2-s2.0-84960328955 (Scopus ID)978-147991934-5 (ISBN)
External cooperation:
Conference
First International Workshop on Complex Faults and Failures in Large Software systems, COUFFLESS 2015, May 23, 2015
Projects
SYNOPSIS - Safety Analysis for Predictable Software Intensive Systems
Available from: 2015-06-12 Created: 2015-06-08 Last updated: 2018-10-29Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-5070-9312

Search in DiVA

Show all publications