the proceedings contain 36 papers. the topics discussed include: data structures for a generic software system using the composite design pattern;towards a pedagogical pattern language for micro learning in enterprise...
ISBN:
(纸本)9781450389976
the proceedings contain 36 papers. the topics discussed include: data structures for a generic software system using the composite design pattern;towards a pedagogical pattern language for micro learning in enterprises;continuous learning withthe sandwich of happiness and result planning;patterns for assignment and passing objects between contexts in programming languages;patterns on deriving apis and their endpoints from domain models;patterns on deriving APIs and their endpoints from domain models;establishing a pattern language for the organization of distributed software development;towards a structure of a pattern language for visualizing in business processes;and towards a pattern language for ‘leading organizations beyond predictability’.
We present a general methodology for adding support for higher-order abstract syntax definitions and first-class contexts to an existing ML-like language. As a consequence, low-level infrastructure that deals with rep...
详细信息
ISBN:
(数字)9783662544341
ISBN:
(纸本)9783662544341;9783662544334
We present a general methodology for adding support for higher-order abstract syntax definitions and first-class contexts to an existing ML-like language. As a consequence, low-level infrastructure that deals with representing variables and contexts can be factored out. this avoids errors in manipulating low-level operations, eases the task of prototyping program transformations and can have a major impact on the effort and cost of implementing such systems. We allow programmers to define syntax in a variant of the logical framework LF and to write programsthat analyze these syntax trees via pattern matching as part of their favorite ML-like language. the syntax definitions and patterns on syntax trees are then eliminated via a translation using a deep embedding of LF that is defined in ML. We take advantage of GADTs which are frequently supported in ML-like languages to ensure our translation preserves types. the resulting programs can be type checked reusing the ML type checker, and compiled reusing its first-order pattern matching compilation. We have implemented this idea in a prototype written for and in OCaml and demonstrated its effectiveness by implementing a wide range of examples such as type checkers, evaluators, and compilation phases such as CPS translation and closure conversion.
the proceedings contain 9 papers. the topics discussed include: a sound deep embedding of arbitrary normal modal logics in Coq;a type-directed algorithm to generate random well-formed parsing expression grammars;explo...
ISBN:
(纸本)9781450397445
the proceedings contain 9 papers. the topics discussed include: a sound deep embedding of arbitrary normal modal logics in Coq;a type-directed algorithm to generate random well-formed parsing expression grammars;exploring opacity software transactional memory in Haskell through graph transformation;a foreign function interface for Pallene;high-level stream and data parallelism in C++ for GPUs;EventManager – a tool to help students analyze concurrent programs;and E-APK: energy pattern detection in decompiled android applications.
Idris's reflection features allow Idris metaprograms to manipulate a representation of Idris's core language as a datatype, but these reflected terms were designed for ease of type checking and are therefore e...
详细信息
Probabilistic programming systems (PP systems) allow developers to model stochastic phenomena and perform efficient inference on the models. the number and adoption of probabilistic programming systems is growing sign...
详细信息
ISBN:
(纸本)9781450355735
Probabilistic programming systems (PP systems) allow developers to model stochastic phenomena and perform efficient inference on the models. the number and adoption of probabilistic programming systems is growing significantly. However, there is no prior study of bugs in these systems and no methodology for systematically testing PP systems. Yet, testing PP systems is highly non-trivial, especially when they perform approximate inference. In this paper, we characterize 118 previously reported bugs in three open-source PP systems-Edward, Pyro and Stan-and propose ProbFuzz, an extensible system for testing PP systems. ProbFuzz allows a developer to specify templates of probabilistic models, from which it generates concrete probabilistic programs and data for testing. ProbFuzz uses language-specific translators to generate these concrete programs, which use the APIs of each PP system. ProbFuzz finds potential bugs by checking the output from running the generated programs against several oracles, including an accuracy checker. Using ProbFuzz, we found 67 previously unknown bugs in recent versions of these PP systems. Developers already accepted 51 bug fixes that we submitted to the three PP systems, and their underlying systems, PyTorch and TensorFlow.
We describe a new blackbox complexity testing technique for determining the worst-case asymptotic complexity of a given application. the key idea is to look for an input pattern - rather than a concrete input - that m...
详细信息
ISBN:
(纸本)9781450355735
We describe a new blackbox complexity testing technique for determining the worst-case asymptotic complexity of a given application. the key idea is to look for an input pattern - rather than a concrete input - that maximizes the asymptotic resource usage of the target program. Because input patterns can be described concisely as programs in a restricted language, our method transforms the complexity testing problem to optimal program synthesis. In particular, we express these input patterns using a new model of computation called Recurrent Computation Graph (RCG) and solve the optimal synthesis problem by developing a genetic programming algorithm that operates on RCGs. We have implemented the proposed ideas in a tool called SINGULARITY and evaluate it on a diverse set of benchmarks. Our evaluation shows that SINGULARITY can effectively discover the worst-case complexity of various algorithms and that it is more scalable compared to existing state-of-the-art techniques. Furthermore, our experiments also corroborate that SINGULARITY can discover previously unknown performance bugs and availability vulnerabilities in real-world applications such as Google Guava and JGraphT.
this book constitutes the refereed proceedings of the 26theuropeanconference on Object-Oriented Programming, ECOOP 2012, held in Beijing, China, in June 2012. the 27 revised full papers presented together with two k...
详细信息
ISBN:
(数字)9783642310577
ISBN:
(纸本)9783642310560
this book constitutes the refereed proceedings of the 26theuropeanconference on Object-Oriented Programming, ECOOP 2012, held in Beijing, China, in June 2012. the 27 revised full papers presented together with two keynote lectures were carefully reviewed and selected from a total of 140 submissions. the papers are organized in topical sections on extensibility, language evaluation, ownership and initialisation, language features, special-purpose analyses, javascript, hardcore theory, modularity, updates and interference, general-purpose analyses.
the proceedings contain 26 papers. the special focus in this conference is on Practical Aspects of Declarative languages. the topics include: the role of declarative languages in mining biological databases;light and ...
ISBN:
(纸本)3540003894
the proceedings contain 26 papers. the special focus in this conference is on Practical Aspects of Declarative languages. the topics include: the role of declarative languages in mining biological databases;light and fast applicative algorithms for computational linguistics;data mining the yeast genome in a lazy functional language;an integrated information system powered by prolog;iterable abstract pattern matching for java;reconstructing the evolutionary history of indo-europeanlanguages using answer set programming;logic programs for querying inconsistent databases;a CLP-based tool for computer aided generation and solving of Maths exercises;type-based xml processing in logic programming;garbage collection algorithms for java-based prolog engines;solving combinatorial problems with a constraint functional logic language;logic programs as compact denotations and lambda goes to Hollywood.
In this work, we described a novel method for normalizing Chinese informal words to their standard equivalents. We form the task as an information extraction problem, using Q & A community answers as source corpus...
详细信息
ISBN:
(纸本)9783319686127;9783319686110
In this work, we described a novel method for normalizing Chinese informal words to their standard equivalents. We form the task as an information extraction problem, using Q & A community answers as source corpus. We proposed several LSTM based models for the extraction task. To evaluate and compare performances of the proposed models, we developed a standard dataset containing factoid generated by real-world users in daily life. Since our method do not use any linguistic features, it's also applicable to other languages.
Persistent memory (PM) technologies combine near DRAM performance with persistency and open the possibility of using one copy of a data structure as both a working copy and a persistent store of the data. Ensuring tha...
详细信息
ISBN:
(纸本)9781450383172
Persistent memory (PM) technologies combine near DRAM performance with persistency and open the possibility of using one copy of a data structure as both a working copy and a persistent store of the data. Ensuring that these persistent data structures are crash consistent (i.e., power failures) is a major challenge. Stores to persistent memory are not immediately made persistent - they initially reside in processor cache and are only written to PM when a flush occurs due to space constraints or explicit flush instructions. It is more challenging to test crash consistency for PM than for disks given the PM's byte-addressability that leads to significantly more states. We present Jaaru, a fully-automated and ultra-efficient model checker for PM programs. Key to Jaaru's efficiency is a new technique based on constraint refinement that can reduce the number of executions that must be explored by many orders of magnitude. this exploration technique effectively leverages commit stores, a common coding pattern, to reduce the model checking complexity from exponential in the length of program executions to quadratic. We have evaluated Jaaru with PMDK and RECIPE, and found 25 persistency bugs, 18 of which are new. Jaaru is also orders of magnitude more efficient than Yat, a model checker that eagerly explores all possible states.
暂无评论