The rigorous application of static timing analysis requires a large and costly amount of detail knowledge on the hardware and software components of the system. Probabilistic Timing Analysis has potential for reducing the weight of that demand. In this paper, we present a sound measurement-based probabilistic timing analysis technique based on Extreme Value Theory. In all the experiments made as part of this work, the timing bounds determined by our technique were less than 15% pessimistic in comparison with the tightest possible bounds obtainable with any probabilistic timing analysis technique. As a point of interest to industrial users, our technique also requires a comparatively low number of measurement runs of the program under analysis, less than 650 runs were needed for the benchmarks presented in this paper.
The concerns held on the scalability of permissionless Blockchain platforms are a significant hindrance to their wider adoption. To address this issue rigorously, we consider it opportune to assess the current implementation and the associated improvement proposals, within a single coherent evaluation framework. This work addresses this specific question in the particular context of Ethereum, a prominent implementation of Blockchain, using a threefold approach. First, it maps the internal constituents of Ethereum onto a layered architecture inspired in the ISO/OSI model, so that its provisioning organization can be better understood. Second, it employs the AKF Scale Cube to analyze the pros and cons of the present specification of Ethereum, as well as of the current improvement proposals, so that the scalability challenges can be reasoned about in an orderly fashion. Finally, it uses an extensible test environment with synthetic benchmarks so that the transaction throughput of the current implementation of Ethereum can be evaluated in a private scenario, when no smart contract is to run. Our conclusions suggest that Ethereum respects the scalability trilemma being versed on security and decentralization renouncing scalability. These limits can be mitigated by adopting novel solutions such as Plasma and Sharding which enable a significant increment of performance by partitioning the data, and, ultimately, unlocking parallel execution of the transactions.
1 May 2013 in ACM Transactions on Embedded Computing Systems
Static timing analysis is the state-of-the-art practice of ascertaining the timing behavior of current-generation real-time embedded systems. The adoption of more complex hardware to respond to the increasing demand for computing power in next-generation systems exacerbates some of the limitations of static timing analysis. In particular, the effort of acquiring (1) detailed information on the hardware to develop an accurate model of its execution latency as well as (2) knowledge of the timing behavior of the program in the presence of varying hardware conditions, such as those dependent on the history of previously executed instructions. We call these problems the timing analysis walls. In this vision-statement article, we present probabilistic timing analysis , a novel approach to the analysis of the timing behavior of next-generation real-time embedded systems. We show how probabilistic timing analysis attacks the timing analysis walls; we then illustrate the mathematical foundations on which this method is based and the challenges we face in the effort of efficiently implementing it. We also present experimental evidence that shows how probabilistic timing analysis reduces the extent of knowledge about the execution platform required to produce probabilistically accurate WCET estimations.
In the last three decades a number of methods have been devised to find upper-bounds for the execution time of critical tasks in time-critical systems. Most of such methods aim to compute Worst-Case Execution Time (WCET) estimates, which can be used as trustworthy upper-bounds for the execution time that the analysed programs will ever take during operation. The range of analysis approaches used include static, measurement-based and probabilistic methods, as well as hybrid combinations of them. Each of those approaches delivers its results on the assumption that certain hypotheses hold on the timing behaviour of the system as well that the user is able to provide the needed input information. Often enough the trustworthiness of those methods is only adjudged on the basis of the soundness of the method itself. However, trustworthiness rests a great deal also on the viability of the assumptions that the method makes on the system and on the user's ability, and on the extent to which those assumptions hold in practice. This paper discusses the hypotheses on which the major state-of-the-art timing analyses methods rely, identifying pitfalls and challenges that cause uncertainty and reduce confidence on the computed WCET estimates. While identifying weaknesses, this paper does not wish to discredit any method but rather to increase awareness on their limitations and enable an informed selection of the technique that best fits the user needs.
Several programs have been developed worldwide to improve children’s executive functions (EFs). Yet, the role played in EF development by learning activities embedded in the school curriculum has received scarce attention. With two studies, we recently tested the effects of computational thinking (CT) and coding—a new element of the primary school curriculum—on the development of children’s EFs. CT stimulates the ability to define a clear and orderly sequence of simple and well-specified steps to solve a complex problem. We conjecture that CT skills are associated to such EF processes as response inhibition and planning. In a first between-group cluster-randomized controlled trial, we tested the effects of 1-month coding activities on 76 first graders’ planning and response inhibition against those of 1-month standard STEM activities of a control group. In a second study, we tested the effects of 1-month coding activities of 17 second graders in two ways: within group (longitudinally), against 7 months of standard activities experienced by the same children (experimental group); and between groups, in comparison to the effects of standard STEM activities in a control group of 19 second graders. The results of the two studies show significant benefits of learning to code: children exposed to coding improved significantly more in planning and inhibition tasks than control children did. The longitudinal data showed that improvements in planning and inhibition skills after 1 month of coding activities (eight lessons) were equivalent to or greater than the improvement attained after 7 months of standard activities. These findings support the hypothesis that learning CT via coding can significantly boost children’s spontaneous development of EFs.