CRSep 23, 2021
A Tree-based Construction for Verifiable Diplomas with Issuer TransparencyRodrigo Q. Saramago, Leander Jehl, Hein Meling et al.
Still to this day, academic credentials are primarily paper-based, and the process to verify the authenticity of such documents is costly, time-consuming, and prone to human error and fraud. Digitally signed documents facilitate a cost-effective verification process. However, vulnerability to fraud remains due to reliance on centralized authorities that lack full transparency. In this paper, we present the mechanisms we designed to create secure and machine-verifiable academic credentials. Our protocol models a diploma as an evolving set of immutable credentials. The credentials are built as a tree-based data structure with linked time-stamping, where portions of credentials are distributed over a set of smart contracts. Our design prevents fraud of diplomas and eases the detection of degree mills, while increasing the transparency and trust in the issuer's procedures. Our evaluation shows that our solution offers a certification system with strong cryptographic security and imposes a high level of transparency of the certification process. We achieve these benefits with acceptable costs compared to existing solutions that lack such transparency.
SEFeb 12, 2019
Time-aware Test Case Execution Scheduling for Cyber-Physical SystemsMorten Mossige, Arnaud Gotlieb, Helge Spieker et al.
Testing cyber-physical systems involves the execution of test cases on target-machines equipped with the latest release of a software control system. When testing industrial robots, it is common that the target machines need to share some common resources, e.g., costly hardware devices, and so there is a need to schedule test case execution on the target machines, accounting for these shared resources. With a large number of such tests executed on a regular basis, this scheduling becomes difficult to manage manually. In fact, with manual test execution planning and scheduling, some robots may remain unoccupied for long periods of time and some test cases may not be executed. This paper introduces TC-Sched, a time-aware method for automated test case execution scheduling. TC-Sched uses Constraint Programming to schedule tests to run on multiple machines constrained by the tests' access to shared resources, such as measurement or networking devices. The CP model is written in SICStus Prolog and uses the Cumulatives global constraint. Given a set of test cases, a set of machines, and a set of shared resources, TC-Sched produces an execution schedule where each test is executed once with minimal time between when a source code change is committed and the test results are reported to the developer. Experiments reveal that TC-Sched can schedule 500 test cases over 100 machines in less than 4 minutes for 99.5% of the instances. In addition, TC-Sched largely outperforms simpler methods based on a greedy algorithm and is suitable for deployment on industrial robot testing.