Researching ....A short taglineJekyll2023-09-22T13:03:23+01:00https://Bruno-Lima.github.io/Bruno Lima, PhDhttps://Bruno-Lima.github.io/brunomclima [at] gmail.comhttps://Bruno-Lima.github.io/publications/ICSOFT_2023_22023-07-12T00:00:00+01:002023-07-12T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://www.scitepress.org/PublicationsDetail.aspx?ID=yfFQwWAaAFs=&t=1"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Sadra Farshid, Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>Medical devices (MDs) and Software as a Medical Device (SaMD) are essential for e-Health applications, but they must comply with strict standards and regulations to ensure their safety and effectiveness. However, there is a lack of tools to assist in conducting appraisals for compliance assessment and managing appraisal information. In this paper, after reviewing the most relevant standards and regulations for MD and SaMD cer- tification, we propose a web platform to help technology companies that lack expertise in developing SaMD to create compliant and high-quality products for the e-Health market. The platform provides users with custom checklists or questionnaires depending on the selected regulations, standards, risk classes, and product pa- rameters. Supporting a secure, incremental, and collaborative approach to completing the assessment process, the platform enables the attachment of notes, evidence, and improvement suggestions. It facilitates repeated assessments over time for data reuse and comparative analysis, enhancing the assessment process’s efficiency and effectiveness.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICSOFT_2023_2">Towards Computer Assisted Compliance Assessment in the Development of Software as a Medical Device</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on July 12, 2023.</p>https://Bruno-Lima.github.io/publications/ICSOFT_2023_12023-07-10T00:00:00+01:002023-07-10T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://www.scitepress.org/PublicationsDetail.aspx?ID=8+COZV4+dl0=&t=1/"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Luís Tavares, Bruno Lima and António J. Araújo</p>
<h3 id="abstract">Abstract</h3>
<p>As computer science and engineering programs continue to grow in enrollment, automatic assessment tools have become prevalent. Manual assessment of programming exercises can be time-consuming and resource- intensive, creating a need for such tools. In response, this paper proposes a tool to assess assembly exercises, specifically ARM64 programs, and provide real-time feedback to students. The tool includes features for evaluating, analyzing, and detecting plagiarism in student submissions. After two years of intensive usage in a higher education environment, the results and analysis show a positive impact and potential benefits for teachers and students. Furthermore, the tool’s source code is publicly available, making it a valuable contribution to building more effective and efficient automatic assessment tools for computer science and engineering schools</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICSOFT_2023_1">Automatic Test-Based Assessment of Assembly Programs</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on July 10, 2023.</p>https://Bruno-Lima.github.io/publications/CSEDU_20232023-04-21T00:00:00+01:002023-04-21T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://csedu.scitevents.org/"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Maria Inês Alves, António Duarte Araújo and Bruno Lima</p>
<h3 id="abstract">Abstract</h3>
<p>Computer architecture is a prevalent topic of study in Informatics and Electrical Engineering courses, though students’ overall grasp of this subject’s concepts is many times hampered, mainly due to the lack of educational tools that can intuitively represent the internal behaviour of a CPU. With the evolution of the ARM architecture and its adoption in higher education institutions, the demand for this sort of tool has increased. Educational tools, specifically developed for the ARMv8 processor, are scarce and inadequate for what is necessary in an academic context. In order to contribute towards solving this problem, eduARM, a practical and interactive web platform that simulates how a ARMv8 CPU functions, was developed and is presented through this paper. Since this tool’s main purpose is to aid computer architecture students, contributing to an improvement in their learning experience, it comprises varied concepts of computer architecture and organization in a simple and intuitive manner, such as the internal structure of a CPU, in both its unicycle and pipelined versions, and the effects of executing a set of instructions. As to better understand its value, the developed tool was then validated through a case study with the participation of computer architecture students.</p>
<p><a href="https://Bruno-Lima.github.io/publications/CSEDU_2023">eduARM: Web Platform to Support the Teaching and Learning of the ARM Architecture</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on April 21, 2023.</p>https://Bruno-Lima.github.io/publications/QRS_20222022-12-05T00:00:00+00:002022-12-05T00:00:00+00:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/document/10062442"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Pedro Almeida, João Pascoal Faria and Bruno Lima</p>
<h3 id="abstract">Abstract</h3>
<p>One of the most critical ICT application domains is healthcare, where a single failure can lead a patient into a hazardous situation. Due to this, there’s a great necessity to ensure that the developed solutions are safe and secure and perform as expected. Smart-Health-4-All (SH4ALL) is a project aiming at accelerating the research, development, commercialization, and dissemination of trustworthy smart health solutions in Portugal. One of the key components of the project is a web platform that supports the generation of integration and system tests for smart health solutions (comprising medical devices, applications, etc.), following a software product line approach. At the domain engineering level, the platform supports the creation of feature models and related test patterns for families of smart health products. At the product engineering level, the platform supports the instantiation of test patterns and the generation of corresponding test scripts ready for execution on specific products under test. This paper presents the aforementioned test platform and test process, and the discovery of test patterns.</p>
<p><a href="https://Bruno-Lima.github.io/publications/QRS_2022">A pattern-based test platform for families of smart health products</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on December 05, 2022.</p>https://Bruno-Lima.github.io/publications/EAEEIE_20212021-09-01T00:00:00+01:002021-09-01T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/document/9530951"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>João Damas, Bruno Lima and António J. Araújo</p>
<h3 id="abstract">Abstract</h3>
<p>Assessment is an important part of the educational process, playing a crucial role in student learning. The increase in the number of students in higher education has placed extreme pressure on assessment practices, often leading to a teacher having hundreds of assignments to correct, not only giving feedback too late, but also low quality feedback, as it is humanly impossible to correct all these assessments by giving quality feedback in such a short time. Due to the social confinement caused by the pandemic of COVID-19, there was the need to change the evaluation method initially associated with a thin exam, to a continuous evaluation method based on multiple weekly assignments. In order to deal with this situation, we developed AOCO, the first automatic correction tool for the ARMv8 AArch64 assembly language. This work presents the AOCO tool, as well as the results of the evaluation of a first use with students</p>
<p><a href="https://Bruno-Lima.github.io/publications/EAEEIE_2021">AOCO - A Tool to Improve the Teaching of the ARM Assembly Language in Higher Education</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on September 01, 2021.</p>https://Bruno-Lima.github.io/publications/CISPEE_20212021-06-22T00:00:00+01:002021-06-22T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/document/9507201"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima and António J. Araújo</p>
<h3 id="abstract">Abstract</h3>
<p>The 2020/2021 academic year started full of uncertainties for new students of higher education in Portugal. The restrictions imposed by the COVID-19 pandemic, the fears of a new lockdown, all coupled with the well-known challenges that a university student faces in his first year, made this year a particularly challenging year in terms of the students’ integration. In this paper, we present how the mentoring programme of the Integrated Master in Informatics and Computing Engineering at the Faculty of Engineering of the University of Porto was adapted to help the integration of first-year students in the university environment under the pandemic.</p>
<p><a href="https://Bruno-Lima.github.io/publications/CISPEE_2021">The students' integration in pandemic times: MIEIC.OnBoard 2020/2021</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on June 22, 2021.</p>https://Bruno-Lima.github.io/publications/CISPEE_20212021-06-21T00:00:00+01:002021-06-21T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/document/9507218"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima, Daniel Granhão, António J. Araújo and João C. Ferreira</p>
<h3 id="abstract">Abstract</h3>
<p>The 2019/2020 school year will always be remembered for the impact of the COVID-19 pandemic. For the first time in recent history, countries closed schools and forced instructors and students to quickly adjust to online classes. This sudden and forced shift to a method of teaching that was completely different from what we were used to presented several challenges and opportunities on a pedagogical level. In this paper we describe our experience as instructors in a course on microprocessor programming in the Master’s Degree in Computer Science and Computing Engineering at the Faculty of Engineering of the University of Porto. Our approach included changes to the assessment plan, which became more distributed, and improvements in communication between students and instructors through the use of Slack. We found that the changes introduced were not only very well received by students, but also resulted in the best exam attendance and average final grade in the last 10 years of the course’s history.</p>
<p><a href="https://Bruno-Lima.github.io/publications/CISPEE_2021">Pedagogical Innovation in Pandemic Times: The Experience of a Microprocessor Programming Course</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on June 21, 2021.</p>https://Bruno-Lima.github.io/publications/IEEE_ACCESS_20202020-08-17T00:00:00+01:002020-08-17T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/abstract/document/9186641"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima, João Pascoal Faria and Robert Hierons</p>
<h3 id="abstract">Abstract</h3>
<p>Evermore end-to-end digital services depend on the proper interoperation of multiple products, forming a distributed system, often subject to timing requirements. To ensure interoperability and the timely behavior of such systems, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. The automation of such integration tests requires that test components are also distributed, with local testers deployed close to the system components, coordinated by a central tester. Test coordination in such a test architecture is a big challenge. To address it, in this article we propose an approach based on the pre-processing of the test scenarios. We first analyze the test scenarios in order to check if conformance errors can be detected locally (local observability) and test inputs can be decided locally (local controllability) by the local testers for the test scenario under consideration, without the need for exchanging coordination messages between the test components during test execution. If such properties do not hold, we next try to determine a minimum set of coordination messages or time constraints to be attached to the given test scenario to enforce those properties and effectively solve the test coordination problem with minimal overhead. The analysis and enforcement procedures were implemented in the DCO Analyzer tool for test scenarios described by means of UML sequence diagrams. Since many local observability and controllability problems may be caused by design flaws or incomplete specifications, and multiple ways may exist to enforce local observability and controllability, the tool was designed as a static analysis assistant to be used before test execution. DCO Analyzer was able to correctly identify local observability and controllability problems in real-world scenarios and help the users fix the detected problems.</p>
<p><a href="https://Bruno-Lima.github.io/publications/IEEE_ACCESS_2020">Local Observability and Controllability Analysis and Enforcement in Distributed Testing With Time Constraints</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on August 17, 2020.</p>https://Bruno-Lima.github.io/publications/ICSE_20202020-07-07T00:00:00+01:002020-07-07T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://arxiv.org/abs/2004.04616"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>To ensure interoperability and the correct behavior of heterogeneous distributed systems in key scenarios, it is important to conduct automated integration tests, based on distributed test components (called local testers) that are deployed close to the system components to simulate inputs from the environment and monitor the interactions with the environment and other system components. We say that a distributed test scenario is locally controllable and locally observable if test inputs can be decided locally and conformance errors can be detected locally by the local testers, without the need for exchanging coordination messages between the test components during test execution (which may reduce the responsiveness and fault detection capability of the test harness). DCO Analyzer is the first tool that checks if distributed test scenarios specified by means of UML sequence diagrams exhibit those properties, and automatically determines a minimum number of coordination messages to enforce them.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICSE_2020">DCO Analyzer: Local Controllability and Observability Analysis and Enforcement of Distributed Test Scenarios</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on July 07, 2020.</p>https://Bruno-Lima.github.io/publications/ICCS_20202020-06-15T00:00:00+01:002020-06-15T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://link.springer.com/chapter/10.1007/978-3-030-50426-7_27"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>João Pedro Dias, Bruno Lima, João Pascoal Faria, André Restivo and Hugo Sereno Ferreira</p>
<h3 id="abstract">Abstract</h3>
<p>Internet-of-Things systems are comprised of highly heterogeneous architectures, where different protocols, application stacks, integration services, and orchestration engines co-exist. As they permeate our everyday lives, more of them become safety-critical, increasing the need for making them testable and fault-tolerant, with minimal human intervention. In this paper, we present a set of self-healing extensions for Node-RED, a popular visual programming solution for IoT systems. These extensions add runtime verification mechanisms and self-healing capabilities via new reusable nodes, some of them leveraging meta-programming techniques. With them, we were able to implement self-modification of flows, empowering the system with self-monitoring and self-testing capabilities, that search for malfunctions, and take subsequent actions towards the maintenance of health and recovery. We tested these mechanisms on a set of scenarios using a live physical setup that we called SmartLab. Our results indicate that this approach can improve a system’s reliability and dependability, both by being able to detect failing conditions, as well as reacting to them by self-modifying flows, or triggering countermeasures.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICCS_2020">Visual Self-healing Modelling for Reliable Internet-of-Things Systems</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on June 15, 2020.</p>https://Bruno-Lima.github.io/publications/QUATIC_20192019-09-11T00:00:00+01:002019-09-11T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://link.springer.com/chapter/10.1007/978-3-030-29238-6_24"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima, João Pascoal Faria and Robert Hierons</p>
<h3 id="abstract">Abstract</h3>
<p>To ensure interoperability and the correct end-to-end behavior of heterogenous distributed systems, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. The automation of such integration tests requires that test components are also distributed, with local testers deployed close to the system components, coordinated by a central tester. In such a test architecture, it is important to maximize the autonomy of the local testers to minimize the communication overhead and maximize the fault detection capability. A test scenario is called locally observable and locally controllable, if conformance errors can be detected locally and test inputs can be decided locally, respectively, by the local testers, without the need for exchanging coordination messages between the test components during test execution (i.e., without any communication overhead). For test scenarios specified by means of UML sequence diagrams that don’t exhibit those properties, we present in this paper an approach with tool support to automatically find coordination messages that, added to the given scenario, make it locally controllable and locally observable.</p>
<p><a href="https://Bruno-Lima.github.io/publications/QUATIC_2019">Local Observability and Controllability Enforcement in Distributed Testing</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on September 11, 2019.</p>https://Bruno-Lima.github.io/publications/ICST_20192019-04-22T00:00:00+01:002019-04-22T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/abstract/document/8730179"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima</p>
<h3 id="abstract">Abstract</h3>
<p>In a growing number of domains, such as IoT for e-health and smart cities, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple systems, forming a new distributed system, often subject to timing constraints. To ensure interoperability and integrity, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. To solve the test automation challenges, we propose algorithms for decentralized conformance checking and test input generation, and for checking and enforcing the conditions (local observability and controllability) that allow decentralized test execution. With this, we expect to improve the fault detection and localization capabilities and reduce the communication overhead comparatively to other model-based testing approaches. Our approach will be validated using real case studies from industrial partners.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICST_2019">Automated Scenario-Based Integration Testing of Time-Constrained Distributed Systems</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on April 22, 2019.</p>https://Bruno-Lima.github.io/publications/ESEC_FSE_20182018-10-06T00:00:00+01:002018-10-06T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://dl.acm.org/citation.cfm?id=3275431"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima</p>
<h3 id="abstract">Abstract</h3>
<p>In a growing number of domains, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple systems, forming a new distributed system, often subject to timing constraints. To ensure interoperability and integrity, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. To tackle test automation challenges, we propose algorithms for decentralized conformance checking and test input generation, and for checking and enforcing the conditions (local observability and controllability) that allow decentralized test execution.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ESEC_FSE_2018">Automated Scenario-Based Integration Testing of Distributed Systems</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on October 06, 2018.</p>https://Bruno-Lima.github.io/publications/ESEC_FSE_W_20182018-10-05T00:00:00+01:002018-10-05T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://dl.acm.org/citation.cfm?id=3278196"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Pedro Martins Pontes, Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>The Internet of Things (IoT) is expected to bring forward new promising solutions in various domains. Consequently, it can impact
many aspects of everyday life, and errors can have serious
consequences. Despite this, there is a lack of standard testing processes and methods, which poses a major challenge for IoT testing. Nonetheless, closer examination makes it possible to identify a set of recurring behaviors of IoT applications and a set of corresponding test strategies.
This paper formalizes the notion of a Pattern-Based IoT Testing method for systematizing and automating the testing of IoT ecosystems. It consists in a set of test strategies for recurring behaviors of the IoT system, which can be defined as IoT Test Patterns.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ESEC_FSE_W_2018">Test Patterns for IoT</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on October 05, 2018.</p>https://Bruno-Lima.github.io/publications/HealthCom20182018-09-17T00:00:00+01:002018-09-17T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://ieeexplore.ieee.org/document/8531089/"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>Industrial cyber-physical systems are becoming in-creasingly popular and starting to emerge as a response to society’s problems using the Internet of Things to create real-time solutions capable of analyzing large amounts of data. In this article, taking advantage of this type of technology, we present a patient prioritization system for hospital emergency services. Our system responds to the problems that occur in hospitals when there is a peak in the number of people using the emergency service, increasing the waiting times. In such asituation, the clinical condition of waiting patients may change after the initial triage, requiring immediate care or at least their re-prioritization. The proposed system consists of a combination of a Smart Priority Recommendation and Patient Control Systemand an Hospital Emergency Smart Band placed in each patient, allowing to detect changes in the vital signs of waiting patients that may indicate that they need immediate care. This system not only improves the quality of emergency services by ensuring a more efficient prioritization of patients, but in extreme cases can help save human lives.</p>
<p><a href="https://Bruno-Lima.github.io/publications/HealthCom2018">Towards Real-Time Patient Prioritizationin Hospital Emergency Services</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on September 17, 2018.</p>https://Bruno-Lima.github.io/publications/ISSTA20182018-07-19T00:00:00+01:002018-07-19T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://2018.ecoop.org/event/tavcpsiot-2018-papers-a-pattern-based-iot-testing-framework"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Pedro Martins Pontes, Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>The emergence of Internet of Things (IoT) technology is expected to offer new promising solutions in various domains and, consequently, impact many aspects of everyday life. However, the development and testing of software applications and services for IoT systems encompasses several challenges that existing solutions have not yet properly addressed. Particularly, the difficulty to test IoT systems - due to their heterogeneous and distributed nature -, and the importance of testing in the development process give rise to the need for an efficient way to implement automated testing in IoT. Although there are already several tools that can be used in the testing of IoT systems, a number of issues can be pointed out, such as focusing on a specific platform, language, or standard, limiting the possibility of improvement or extension, and not providing out-of-the-box functionalities. This paper describes Izinto, a pattern-based test automation framework for integration testing of IoT systems. The framework implements in a generic way a set of test patterns specific to the IoT domain which can be easily instantiated for concrete IoT scenarios. It was validated in a number of test cases, within a concrete application scenario in the domain of Ambient Assisted Living (AAL).</p>
<p><a href="https://Bruno-Lima.github.io/publications/ISSTA2018">Izinto: A Pattern-Based IoT Testing Framework</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on July 19, 2018.</p>https://Bruno-Lima.github.io/publications/MODESWARD20182018-01-23T00:00:00+00:002018-01-23T00:00:00+00:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://doi.org/10.5220/0006731806680679"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>João Soares, Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>UML Sequence Diagrams are used in different domains for specifying the required behaviour of software-based systems. However, the created diagrams are often used only as documentation, and not as a basis for generating subsequent lifecycle artifacts or for automated analysis. Several authors have proposed the transformation of Sequence Diagrams to executable Coloured Petri Nets (CPN), for simulation and testing purposes, but the transformations are not automated or are implemented in an ad-hoc way. To overcome those limitations, we present in this paper an approach to automatically translate Sequence Diagrams to CPN ready for execution with CPN Tools, taking advantage of model-to-model transformation techniques provided by the Eclipse Modelling Framework (EMF). The transformation rules are implemented in the Epsilon Transformation Language. We use the standard UML metamodel provided by EMF and the CPN metamodel provided by CPN Tools, so any Sequence Diagram created with an EMF compliant modelling tool can be transformed. An application example is presented to better illustrate the approach.</p>
<p><a href="https://Bruno-Lima.github.io/publications/MODESWARD2018">Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on January 23, 2018.</p>https://Bruno-Lima.github.io/publications/ICSOFT20172017-07-24T00:00:00+01:002017-07-24T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="http://www.scitepress.org/DigitalLibrary/PublicationsDetail.aspx?ID=oJ9x95EPsTs=&t=1"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>The provisioning of a growing number of services depends on the proper interoperation of multiple products, forming a new distributed system, often subject to timing requirements. To ensure the interoperability and timely behavior of this new distributed system, it is important to conduct integration tests that verify the interactions with the environment and between the system components. Integration test scenarios for that purpose may be conveniently specified by means of UML sequence diagrams (SDs) enriched with time constraints. The automation of such integration tests requires that test components are also distributed, with a local tester deployed close to each system component, coordinated by a central tester. The distributed observation of execution events, combined with the impossibility to ensure clock synchronization in a distributed system, poses special challenges for checking the conformance of the observed execution traces against the specification, possibly yielding inconclusive verdicts. Hence, in this paper we investigate decision procedures and criteria to check the conformance of observed execution traces against a specification set by a UML SD enriched with time constraints. The procedures and criteria are specified in a formal language that allows executing and validating the specification. Examples are presented to illustrate the approach.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICSOFT2017">Conformance Checking in Integration Testing of Time-constrained Distributed Systems based on UML Sequence Diagrams</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on July 24, 2017.</p>https://Bruno-Lima.github.io/publications/CCIS2017-07-12T00:00:00+01:002017-07-12T00:00:00+01:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="https://link.springer.com/chapter/10.1007/978-3-319-62569-0_5"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>Distributed and heterogeneous systems (DHS), running over interconnected mobile and cloud-based platforms, are used in a growing number of domains for provisioning end-to-end services to users. Testing DHS is particularly important and challenging, with little support being provided by current tools. In order to assess the current state of the practice regarding the testing of DHS and identify opportunities and priorities for research and innovation initiatives, we conducted an exploratory survey that was responded by 147 software testing professionals that attended industry-oriented software testing conferences. The survey allowed us to assess the relevance of DHS in software testing practice, the most important features to be tested in DHS, the current status of test automation and tool sourcing for testing DHS, and the most desired features in test automation solutions for DHS. Some follow up interviews allowed us to further investigate drivers and barriers for DHS test automation. We expect that the results presented in the paper are of interest to researchers, tool vendors and service providers in this field.</p>
<p><a href="https://Bruno-Lima.github.io/publications/CCIS">A Survey on Testing Distributed and Heterogeneous Systems: The State of the Practice</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on July 12, 2017.</p>https://Bruno-Lima.github.io/publications/ICSTW20172017-03-17T00:00:00+00:002017-03-17T00:00:00+00:00Bruno Lima, PhDhttps://Bruno-Lima.github.iobrunomclima [at] gmail.com<p><a href="http://ieeexplore.ieee.org/document/7899081/"><i class="icon-pdf"></i> (link for download)</a></p>
<h3 id="authors">Authors</h3>
<p>Bruno Lima and João Pascoal Faria</p>
<h3 id="abstract">Abstract</h3>
<p>In a growing number of domains, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple products, forming a new distributed system. To ensure interoperability and the integrity of this new distributed system, it is important to conduct integration tests that verify not only the interactions with the environment but also the interactions between the system components. Integration test scenarios for that purpose may be conveniently specified by means of UML sequence diagrams, possibly allowing multiple execution paths. The automation of such integration tests requires that test components are also distributed, with a local tester deployed close to each system component, and a central tester coordinating the local testers. In such a test architecture, it is important to minimize the communication overhead during test execution. Hence, in this paper we investigate conditions upon which conformance errors can be detected locally (local observability) and test inputs can be decided locally (local controllability) by the local testers, without the need for exchanging coordination messages between the test components during test execution. The conditions are specified in a formal specification language that allows executing and validating the specification. Examples of test scenarios are also presented, illustrating local observability and controllability problems associated with optional messages without corresponding acknowledgment messages, races and non-local choices.</p>
<p><a href="https://Bruno-Lima.github.io/publications/ICSTW2017">Towards Decentralized Conformance Checking in Model-Based Testing of Distributed Systems</a> was originally published by Bruno Lima, PhD at <a href="https://Bruno-Lima.github.io">Researching ....</a> on March 17, 2017.</p>