This work presents PγωNK, a functional probabilistic network programming language that extends Probabilistic NetKAT (PNK). Like PNK, it enables probabilistic modelling of network behaviour, by providing probabilisti...
详细信息
This paper reports the findings of an empirical study on the effects and nature of self explanation during source code comprehension learning activities in the context of learning computerprogramming language Java. O...
详细信息
Probabilistic programming is the idea of writing models from statistics and machine learning using program notations and reasoning about these models using generic inference engines. Recently its combination with deep...
详细信息
Probabilistic programming is the idea of writing models from statistics and machine learning using program notations and reasoning about these models using generic inference engines. Recently its combination with deep learning has been explored intensely, which led to the development of so called deep probabilistic programminglanguages, such as Pyro, Edward and ProbTorch. At the core of this development lie inference engines based on stochastic variational inference algorithms. When asked to find information about the posterior distribution of a model written in such a language, these algorithms convert this posterior-inference query into an optimisation problem and solve it approximately by a form of gradient ascent or descent. In this paper, we analyse one of the most fundamental and versatile variational inference algorithms, called score estimator or REINFORCE, using tools from denotational semantics and program analysis. We formally express what this algorithm does on models denoted by programs, and expose implicit assumptions made by the algorithm on the models. The violation of these assumptions may lead to an undefined optimisation objective or the loss of convergence guarantee of the optimisation process. We then describe rules for proving these assumptions, which can be automated by static program analyses. Some of our rules use nontrivial facts from continuous mathematics, and let us replace requirements about integrals in the assumptions, such as integrability of functions defined in terms of programs' denotations, by conditions involving differentiation or boundedness, which are much easier to prove automatically (and manually). Following our general methodology, we have developed a static program analysis for the Pyro programming language that aims at discharging the assumption about what we call model-guide support match. Our analysis is applied to the eight representative model-guide pairs from the Pyro webpage, which include sophisticated neural ne
Session types have emerged as a typing discipline for communication protocols. Existing calculi with session types come equipped with many different primitives that combine communication with the introduction or elimi...
详细信息
Identifying source code that has poor readability allows developers to focus maintenance efforts on problematic code. Therefore,the effort to develop models that can quantify the readability ofa piece of source code h...
详细信息
This research develops a sensor-based wearable device for gesture recognition in basketball violation. It gears to improve and enhance the ways of identifying signals performed by the referee. Moreover, it aims to les...
详细信息
Time-series data is one of the data produced by the Badan Pusat Statistik (BPS). The time-series data has the potential to have a seasonal effect which can cause the analysis to be less accurate. Seasonal effects can ...
详细信息
This is a motivating tutorial introduction to a semantic analysis of programminglanguages using a graphical language as the representation of terms, and graph rewriting as a representation of reduction rules. We show...
详细信息
The operational semantics of a programming language is said to be small-step if each transition step is an atomic computation step in the language. A semantics with this property faithfully corresponds to the implemen...
详细信息
Identifying vulnerabilities in the source code is essential to protect the software systems from cyber security attacks. It, however, is also a challenging step that requires specialized expertise in security and code...
详细信息
暂无评论