mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Alternative names
Publications (10 of 78) Show all publications
Abbaspour Asadollah, S., Daniel, S., Eldh, S. & Hansson, H. (2018). A Runtime Verification Tool for Detecting Concurrency Bugs in FreeRTOS Embedded Software. In: Proceedings - 17th International Symposium on Parallel and Distributed Computing, ISPDC 2018: . Paper presented at 17th International Symposium on Parallel and Distributed Computing, ISPDC 2018, 25 June 2018 through 28 June 2018 (pp. 172-179). Institute of Electrical and Electronics Engineers Inc., Article ID 8452035.
Open this publication in new window or tab >>A Runtime Verification Tool for Detecting Concurrency Bugs in FreeRTOS Embedded Software
2018 (English)In: Proceedings - 17th International Symposium on Parallel and Distributed Computing, ISPDC 2018, Institute of Electrical and Electronics Engineers Inc. , 2018, p. 172-179, article id 8452035Conference paper, Published paper (Refereed)
Abstract [en]

This article presents a runtime verification tool for embedded software executing under the open source real-time operating system FreeRTOS. The tool detects and diagnoses concurrency bugs such as deadlock, starvation, and suspension based-locking. The tool finds concurrency bugs at runtime without debugging and tracing the source code. The tool uses the Tracealyzer tool for logging relevant events. Analysing the logs, our tool can detect the concurrency bugs by applying algorithms for diagnosing each concurrency bug type individually. In this paper, we present the implementation of the tool, as well as its functional architecture, together with illustration of its use. The tool can be used during program testing to gain interesting information about embedded software executions. We present initial results of running the tool on some classical bug examples running on an AVR 32-bit board SAM4S. 

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2018
Series
International Symposium on Parallel and Distributed Computing
Keywords
Bug Detector, Concurrency Bugs, Embedded Software, FreeRTOS, Runtime Verification Tool, Computer operating systems, Distributed computer systems, Locks (fasteners), Open source software, Open systems, Program diagnostics, Software testing, Verification, Functional architecture, Interesting information, Real time operating system, Run-time verification, Software execution, Program debugging
National Category
Embedded Systems Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41125 (URN)10.1109/ISPDC2018.2018.00032 (DOI)000447280800023 ()2-s2.0-85053906243 (Scopus ID)9781538653302 (ISBN)
Conference
17th International Symposium on Parallel and Distributed Computing, ISPDC 2018, 25 June 2018 through 28 June 2018
Available from: 2018-10-10 Created: 2018-10-10 Last updated: 2018-10-25Bibliographically approved
Lisova, E., Causevic, A., Hänninen, K., Thane, H. & Hansson, H. (2018). A Systematic Way to Incorporate Security in Safety Analysis. In: Proceedings - 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops, DSN-W 2018: . Paper presented at 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops, DSN-W 2018; Parc Alvisse, Hotel Luxembourg City; Luxembourg; 25 June 2018 through 28 June 2018 (pp. 166-171). Luxembourg, Luxemburg
Open this publication in new window or tab >>A Systematic Way to Incorporate Security in Safety Analysis
Show others...
2018 (English)In: Proceedings - 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops, DSN-W 2018, Luxembourg, Luxemburg, 2018, p. 166-171Conference paper, Published paper (Refereed)
Abstract [en]

Today's systems are being built to connect to public or semi-public networks, are able to communicate with other systems, e.g., in the context of Internet-of-Things (IoT), involve multiple stakeholders, have dynamic system reconfigurations, and operate in increasingly unpredictable environments. In such complex systems, assuring safety and security in a continuous and joint effort is a major challenge, not the least due to the increasing number of attack surfaces arising from the increased connectivity. In this paper we present an approach that aims to bridge the gap between safety and security engineering. The potential of the approach is illustrated on the example of E-gas system, discussing the cases when unintentional faults as well as malicious attacks are taken into consideration when assuring safety of the described system. 

Place, publisher, year, edition, pages
Luxembourg, Luxemburg: , 2018
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-39268 (URN)10.1109/DSN-W.2018.00058 (DOI)2-s2.0-85051231991 (Scopus ID)9781538655955 (ISBN)
Conference
48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops, DSN-W 2018; Parc Alvisse, Hotel Luxembourg City; Luxembourg; 25 June 2018 through 28 June 2018
Projects
Closing the safety-security gap in software intensive systemsSAFSEC-CPS -- Securing the safety of autonomous cyber-physical systemsSerendipity - Secure and dependable platforms for autonomy
Available from: 2018-05-22 Created: 2018-05-22 Last updated: 2018-08-23Bibliographically approved
Hansson, H. (2018). Message from the ICST 2018 General Chair. Paper presented at 11th IEEE International Conference on Software Testing, Verification and Validation, ICST 2018; Vasteras; Sweden; 9 April 2018 through 13 April 2018. 11th IEEE International Conference on Software Testing, Verification and Validation, ICST 2018, xii-xiii
Open this publication in new window or tab >>Message from the ICST 2018 General Chair
2018 (English)In: 11th IEEE International Conference on Software Testing, Verification and Validation, ICST 2018, p. xii-xiiiArticle in journal (Refereed) Published
Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2018
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-39980 (URN)10.1109/ICST.2018.00005 (DOI)2-s2.0-85048414125 (Scopus ID)
Conference
11th IEEE International Conference on Software Testing, Verification and Validation, ICST 2018; Vasteras; Sweden; 9 April 2018 through 13 April 2018
Available from: 2018-06-21 Created: 2018-06-21 Last updated: 2018-06-28Bibliographically approved
Sljivo, I., Gallina, B., Carlson, J., Hansson, H. & Puri, S. (2018). Tool-supported safety-relevant component reuse: From specification to argumentation. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Volume 10873: . Paper presented at 23rd International Conference on Reliable Software Technologies, Ada-Europe 2018; Lisbon; Portugal; 18 June 2018 through 22 June 2018 (pp. 19-33). Springer Verlag
Open this publication in new window or tab >>Tool-supported safety-relevant component reuse: From specification to argumentation
Show others...
2018 (English)In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Volume 10873, Springer Verlag , 2018, p. 19-33Conference paper, Published paper (Refereed)
Abstract [en]

Contracts are envisaged to support compositional verification of a system as well as reuse and independent development of their implementations. But reuse of safety-relevant components in safety-critical systems needs to cover more than just the implementations. As many safety-relevant artefacts related to the component as possible should be reused together with the implementation to assist the integrator in assuring that the system they are developing is acceptably safe. Furthermore, the reused assurance information related to the contracts should be structured clearly to communicate the confidence in the component. In this work we present a tool-supported methodology for contract-driven assurance and reuse. We define the variability on the contract level in the scope of a trace-based approach to contract-based design. With awareness of the hierarchical nature of systems subject to compositional verification, we propose assurance patterns for arguing confidence in satisfaction of requirements and contracts. We present an implementation extending the AMASS platform to support automated instantiation of the proposed patterns, and evaluate its adequacy for assurance and reuse in a real-world case study. 

Place, publisher, year, edition, pages
Springer Verlag, 2018
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 10873
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-40197 (URN)10.1007/978-3-319-92432-8_2 (DOI)2-s2.0-85049018625 (Scopus ID)9783319924311 (ISBN)
Conference
23rd International Conference on Reliable Software Technologies, Ada-Europe 2018; Lisbon; Portugal; 18 June 2018 through 22 June 2018
Available from: 2018-07-05 Created: 2018-07-05 Last updated: 2018-07-05Bibliographically approved
Sljivo, I., Gallina, B., Carlson, J., Hansson, H. & Puri, S. (2018). Tool-Supported Safety-Relevant Component Reuse: From Specification to Argumentation. In: 23rd International Conference on Reliable Software Technologies - Ada-Europe 2018 Ada-Europe-2018: . Paper presented at 23rd International Conference on Reliable Software Technologies - Ada-Europe 2018 Ada-Europe-2018 , 18 Jun 2018, Lisbon, Portugal (pp. 19-33). , 10873
Open this publication in new window or tab >>Tool-Supported Safety-Relevant Component Reuse: From Specification to Argumentation
Show others...
2018 (English)In: 23rd International Conference on Reliable Software Technologies - Ada-Europe 2018 Ada-Europe-2018, 2018, Vol. 10873, p. 19-33Conference paper, Published paper (Refereed)
Abstract [en]

Contracts are envisaged to support compositional verification of a system as well as reuse and independent development of their implementations. But reuse of safety-relevant components in safety-critical systems needs to cover more than just the implementations. As many safety-relevant artefacts related to the component as possible should be reused together with the implementation to assist the integrator in assuring that the system they are developing is acceptably safe. Furthermore, the reused assurance information related to the contracts should be structured clearly to communicate the confidence in the component. In this work we present a tool-supported methodology for contract-driven assurance and reuse. We define the variability on the contract level in the scope of a trace-based approach to contract-based design. With awareness of the hierarchical nature of systems subject to compositional verification, we propose assurance patterns for arguing confidence in satisfaction of requirements and contracts. We present an implementation extending the AMASS platform to support automated instantiation of the proposed patterns, and evaluate its adequacy for assurance and reuse in a real-world case study.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-40845 (URN)10.1007/978-3-319-92432-8_2 (DOI)2-s2.0-85049018625 (Scopus ID)978-3-319-92431-1 (ISBN)
Conference
23rd International Conference on Reliable Software Technologies - Ada-Europe 2018 Ada-Europe-2018 , 18 Jun 2018, Lisbon, Portugal
Projects
Future factories in the CloudSafeCOP - Safe Cooperating Cyber-Physical Systems using Wireless CommunicationAMASS - Architecture-driven, Multi-concern and Seamless Assurance and Certification of Cyber-Physical Systems
Available from: 2018-09-12 Created: 2018-09-12 Last updated: 2018-09-12Bibliographically approved
Pozo, F., Rodriguez-Navas, G. & Hansson, H. (2018). Work-in-Progress: A Hot-Patching Protocol for Repairing Time-Triggered Network Schedules. In: Pellizzoni, R (Ed.), 24TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM (RTAS 2018): . Paper presented at 24th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), APR 11-13, 2018, Porto, PORTUGAL (pp. 89-92).
Open this publication in new window or tab >>Work-in-Progress: A Hot-Patching Protocol for Repairing Time-Triggered Network Schedules
2018 (English)In: 24TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM (RTAS 2018) / [ed] Pellizzoni, R, 2018, p. 89-92Conference paper, Published paper (Refereed)
Abstract [en]

Time-Triggered communication is based on generating an offfine static schedule that guarantees frame transmissions with reduced latency and low jitter. However, static schedules are not adaptive: if some unpredicted event happens, like a link failure, the schedule is not valid anymore and a new one needs to be synthesized from scratch. This paper presents a novel hot-patching protocol which seeks, after a link failure disconnecting two nodes, to find a new path to reconnect both nodes and restore during run-time the affected part of the schedule. We also introduce the concept of reparability as a desired property of the schedule, which increases the probability of our protocol to succeed. The first evaluation shows that our hot-patching protocol can recover from a link failure consistently in less than 25ms.

Series
IEEE Real-Time and Embedded Technology and Applications Symposium, ISSN 1545-3421
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-40937 (URN)10.1109/RTAS.2018.00015 (DOI)000443421100009 ()978-1-5386-5295-4 (ISBN)
Conference
24th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), APR 11-13, 2018, Porto, PORTUGAL
Available from: 2018-09-13 Created: 2018-09-13 Last updated: 2018-09-13Bibliographically 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
Abbaspour Asadollah, S., Daniel, S., Eldh, S. & Hansson, H. (2017). Concurrency bugs in open source software: a case study. Journal of Internet Services and Applications, 8(1), Article ID 4.
Open this publication in new window or tab >>Concurrency bugs in open source software: a case study
2017 (English)In: Journal of Internet Services and Applications, ISSN 1867-4828, Vol. 8, no 1, article id 4Article in journal (Refereed) Published
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 fixing-times 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. This paper presents an empirical study focusing on understanding the differences and similarities between concurrency bugs and other bugs, as well as the differences among various concurrency bug types in terms of their severity and their fixing time, and reproducibility. Our basis is a comprehensive analysis of bug reports covering several generations of five open source software projects. The analysis involves a total of 11860 bug reports from the last decade, including 351 reports related to concurrency bugs. We found that concurrency bugs are different from other bugs in terms of their fixing time and severity while they are similar in terms of reproducibility. Our findings shed light on concurrency bugs and could thereby influence future design and development of concurrent software, their debugging and testing, as well as related tools.

Place, publisher, year, edition, pages
Springer London, 2017
Keywords
Apache Accumulo, Apache Hadoop, Apache Oozie, Apache spark, Apache ZooKeeper, Bug severity, Case study, Concurrency bugs, Fixing time, Open source software, Computer programming, Computer software, Concurrency control, Open systems, Software engineering, Software testing, Program debugging
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-35210 (URN)10.1186/s13174-017-0055-2 (DOI)000398668000001 ()2-s2.0-85016955041 (Scopus ID)
Available from: 2017-04-20 Created: 2017-04-20 Last updated: 2018-10-29Bibliographically approved
Abbaspour Asadollah, S., Daniel, S. & Hansson, H. (2017). Runtime Verification for Detecting Suspension Bugs in Multicore and Parallel Software. In: Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2017: . Paper presented at 10th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2017, 13 March 2017 through 17 March 2017 (pp. 77-80).
Open this publication in new window or tab >>Runtime Verification for Detecting Suspension Bugs in Multicore and Parallel Software
2017 (English)In: Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2017, 2017, p. 77-80Conference paper, Published paper (Refereed)
Abstract [en]

Multicore hardware development increases the popularity of parallel and multicore software, while testing and debugging the software become more difficult, frustrating and costly. Among all types of software bugs, concurrency bugs are both important and troublesome. This type of bugs is increasingly becoming an issue, particularly due to the growing prevalence of multicore hardware. Suspension-based-locking bug is one type of concurrency bugs. This position paper proposes a model based on runtime verification and reflection technique in the context of multicore and parallel software to monitor and detect suspension-based-locking bugs. The model is not only able to detect faults, but also diagnose and even repair them. The model is composed of four layers: Logging, Monitoring, Suspension Bug Diagnosis and Mitigation. The logging layer will observe the events and save them into a file system. The monitoring layer will detect the presents of bugs in the software. The suspension bug diagnosis will identify Suspension bugs by comparing the captured data with the suspension bug properties. Finally, the mitigation layer will reconfigure the software to mitigate the suspension bugs. A functional architecture of a runtime verification tool is also proposed in this paper. This architecture is based on the proposed model and is comprised of different modules. 

Series
IEEE International Conference on Software Testing Verification and Validation Workshops, ISSN 2159-4848
Keywords
Concurrency bugs, Debugging, Monitoring, Multicore software, Parallel application, Runtime Verification, Suspension-based-locking bug, Application programs, Computer debugging, Hardware, Locks (fasteners), Program diagnostics, Software testing, Verification, Functional architecture, Hardware development, Multi core, Parallel software, Run-time verification, Testing and debugging, Program debugging
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-35336 (URN)10.1109/ICSTW.2017.20 (DOI)000403392800014 ()2-s2.0-85018376665 (Scopus ID)9781509066766 (ISBN)
Conference
10th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2017, 13 March 2017 through 17 March 2017
Available from: 2017-05-19 Created: 2017-05-19 Last updated: 2018-01-26Bibliographically approved
Pop, P., Scholle, D., Šljivo, I., Hansson, H., Widforss, G. & Rosqvist, M. (2017). Safe cooperating cyber-physical systems using wireless communication: The SafeCOP approach. Microprocessors and microsystems, 53, 42-50
Open this publication in new window or tab >>Safe cooperating cyber-physical systems using wireless communication: The SafeCOP approach
Show others...
2017 (English)In: Microprocessors and microsystems, ISSN 0141-9331, E-ISSN 1872-9436, Vol. 53, p. 42-50Article in journal (Refereed) Published
Abstract [en]

This paper presents an overview of the ECSEL project entitled “Safe Cooperating Cyber-Physical Systems using Wireless Communication” (SafeCOP), which runs during the period 2016–2019. SafeCOP targets safety-related Cooperating Cyber-Physical Systems (CO-CPS) characterised by use of wireless communication, multiple stakeholders, dynamic system definitions (openness), and unpredictable operating environments. SafeCOP will provide an approach to the safety assurance of CO-CPS, enabling thus their certification and development. The project will define a runtime manager architecture for runtime detection of abnormal behaviour, triggering if needed a safe degraded mode. SafeCOP will also develop methods and tools, which will be used to produce safety assurance evidence needed to certify cooperative functions. SafeCOP will extend current wireless technologies to ensure safe and secure cooperation, and also contribute to new standards and regulations, by providing certification authorities and standardization committees with the scientifically validated solutions needed to craft effective standards extended to also address cooperation and system-of-systems issues. The project has 28 partners from 6 European countries, and a budget of about 11 million Euros corresponding to about 1,300 person-months. 

Place, publisher, year, edition, pages
Elsevier B.V., 2017
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-36139 (URN)10.1016/j.micpro.2017.07.003 (DOI)000411544600004 ()2-s2.0-85023607120 (Scopus ID)
Available from: 2017-07-27 Created: 2017-07-27 Last updated: 2018-03-05Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-7235-6888

Search in DiVA

Show all publications