the proceedings contain 13 papers. the special focus in this conference is on functional and Logic programming. the topics include: Implementing, and Keeping in Check, a DSL Used in E-Learning;system Description: Lang...
ISBN:
(纸本)9783030590246
the proceedings contain 13 papers. the special focus in this conference is on functional and Logic programming. the topics include: Implementing, and Keeping in Check, a DSL Used in E-Learning;system Description: Lang-n-Change - A Tool for Transforming Languages;An SMT-Based Concolic Testing Tool for Logic Programs;the Bang Calculus Revisited;functional Pearl: the Distributive$$\lambda $$ -Calculus;polynomial Time over the Reals with Parsimony;session Types Without Sophistry: System Description;restriction on Cut in Cyclic Proof System for Symbolic Heaps;on the Effectiveness of Higher-Order Logic programming in Language-Oriented programming;declarative Pearl: Deriving Monadic Quicksort;language-Integrated Query with Nested Data Structures and Grouping.
Community smells are symptoms of organizational and social issues within the software development community that often increase the project costs and impact software quality. Recent studies have identified a variety o...
详细信息
ISBN:
(纸本)9781450370936
Community smells are symptoms of organizational and social issues within the software development community that often increase the project costs and impact software quality. Recent studies have identified a variety of community smells and defined them as suboptimal patterns connected to organizational-social structures in the software development community such as the lack of communication, coordination and collaboration. Recognizing the advantages of the early detection of potential community smells in a software project, we introduce a novel approach that learns from various community organizational and social practices to provide an automated support for detecting community smells. In particular, our approach learns from a set of interleaving organizational-social symptoms that characterize the existence of community smell instances in a software project. We build a multi-label learning model to detect 8 common types of community smells. We use the ensemble classifier chain (ECC) model that transforms multi-label problems into several single-label problems which are solved using genetic programming (GP) to find the optimal detection rules for each smell type. To evaluate the performance of our approach, we conducted an empirical study on a benchmark of 103 open source projects and 407 community smell instances. the statistical tests of our results show that our approach can detect the eight considered smell types with an average F-measure of 89% achieving a better performance compared to different state-of-the-art techniques. Furthermore, we found that the most influential factors that best characterize community smells include the social network density and closeness centrality as well as the standard deviation of the number of developers per time zone and per community.
Goal Models capture system goals and their decomposition into operational requirements assigned to human, hardware or software agents. this refinement process supports alternatives both when refining goals processes b...
详细信息
ISBN:
(纸本)9789897584435
Goal Models capture system goals and their decomposition into operational requirements assigned to human, hardware or software agents. this refinement process supports alternatives both when refining goals processes but also when reasoning and refining obstacles to goals. this leads to large design space to explore in order to select a specific solution fulfilling a set of set of non-functional requirements (e.g. reliability, security, performance) or business goals (e.g. costs, satisfaction). this paper investigates how optimisation techniques can be used to efficiently explore the design space where multiple objectives have to be met simultaneously. this works extends previous work by allowing one not only to select a single alternative but also to combine different alternatives together to produce a more robust design. In order to explore the potentially very large design space, we show how to translate a model with many goals and obstacle alternatives, expressed in the KAOS notation, into a constraint programming (CP) problem. the *** engine is then used to compute a set of Pareto-optimal solutions regarding the targeted evaluation objectives. Our method is implemented as a tool plugin of a requirements engineering platform and is benchmarked on a security case study close to attack trees.
functionalprogramming languages are well-suited for developing compilers, and compilers for functional languages are often themselves written in a functional language. functional abstractions, such as monads, allow a...
详细信息
ISBN:
(纸本)9781450369817
functionalprogramming languages are well-suited for developing compilers, and compilers for functional languages are often themselves written in a functional language. functional abstractions, such as monads, allow abstracting away some of the repetitive structure of a compiler, removing boilerplate code and making extensions simpler. Even so, functional languages are rarely used to implement compilers for languages of other paradigms. this paper reports on the experience of a four-year long project where we developed a compiler for a concurrent, object-oriented language using the functional language Haskell. the focus of the paper is the implementation of the type checker, but the design works well in static analysis tools, such as tracking uniqueness of variables to ensure data-race freedom. the paper starts from a simple type checker to which we add more complex features, such as type state, with minimal changes to the overall initial design.
We explore first-person demonstration as an intuitive way of producing task demonstrations to facilitate user-centric robotic assistance. First-person demonstration directly captures the human experience of task perfo...
详细信息
ISBN:
(纸本)9781450367462
We explore first-person demonstration as an intuitive way of producing task demonstrations to facilitate user-centric robotic assistance. First-person demonstration directly captures the human experience of task performance via head-mounted cameras and naturally includes productive viewpoints for task actions. We implemented a perception system that parses natural first-person demonstrations into task models consisting of sequential task procedures, spatial configurations, and unique task viewpoints. We also developed a robotic system capable of interacting autonomously with users as it follows previously acquired task demonstrations. To evaluate the effectiveness of our robotic assistance, we conducted a user study contextualized in an assembly scenario;we sought to determine how assistance based on a first-person demonstration (user-centric assistance) versus that informed only by the cover image of the official assembly instruction (standard assistance) may shape users' behaviors and overall experience when working alongside a collaborative robot. Our results show that participants felt that their robot partner was more collaborative and considerate when it provided user-centric assistance than when it offered only standard assistance. Additionally, participants were more likely to exhibit unproductive behaviors, such as using their non-dominant hand, when performing the assembly task without user-centric assistance.
this paper shows how reflection on (undecorated) syntax trees used in attribute grammars can significantly reduce the amount of boiler-plate specifications that must be written. It is implemented in the Silver attribu...
详细信息
ISBN:
(纸本)9781450369800
this paper shows how reflection on (undecorated) syntax trees used in attribute grammars can significantly reduce the amount of boiler-plate specifications that must be written. It is implemented in the Silver attribute grammar system in the form of a reflect function mapping syntax trees and other values into a generic representation and a reify function for the inverse mapping. We demonstrate its usefulness in several ways. the first is in an extension to Silver itself that simplifies writing language extensions for the ableC extensible C specification by allowing language engineers to specify C-language syntax trees using the concrete syntax of C (with typed holes) instead of writing abstract syntax trees. Secondly, a scrap-your-boilerplate style substitution mechanism is described. the third use is in serialization and de-serialization of the interface files Silver generates to support separate compilation;a custom interface language was replaced by a generic reflection-based implementation. Finally, an experimental implementation of staged interpreters for a small staged functional language is discussed.
the proceedings contain 15 papers. the topics discussed include: TEEv: virtualizing trusted execution environments on mobile platforms;secure guest virtual machine support in apparition;ACRN: a big little hypervisor f...
ISBN:
(纸本)9781450360203
the proceedings contain 15 papers. the topics discussed include: TEEv: virtualizing trusted execution environments on mobile platforms;secure guest virtual machine support in apparition;ACRN: a big little hypervisor for IoT development;fast and live hypervisor replacement;a binary-compatible unikernel;cross-ISA machine instrumentation using fast and scalable dynamic binary translation;the Janus triad: exploiting parallelism through dynamic binary modification;mitigating JIT compilation latency in virtual execution environments;ScissorGC: scalable and efficient compaction for Java full garbage collection;QuickCheck: using speculation to reduce the overhead of checks in NVM frameworks;and tail latency in ***: energy effiicient turbo boosting for long latency requests in event-driven web services.
A foreign function interface (FFI) is a classical abstraction used for interfacing a programming language with another foreign language to reuse its libraries. this interface is important for a new (or non prevailing)...
详细信息
ISBN:
(纸本)9781450369800
A foreign function interface (FFI) is a classical abstraction used for interfacing a programming language with another foreign language to reuse its libraries. this interface is important for a new (or non prevailing) language because it lacks libraries and thus needs to borrow libraries written in a foreign language when the programmer develops a practical application in that new language. However, a modern library often exploits unique language mechanisms of the implementation language. this makes the use of the library difficult through a simple function call from that new language. this paper presents our approach to this problem. We use an embedded domain specific language (DSL), which is designed to resemble the foreign language, and migrate the DSL code to access to the library written in the foreign language. this paper also presents our framework Yadriggy for developing the DSL from Ruby to a foreign language environment. the framework supports DSL-specific syntax checking for the migrated DSL code.
the proceedings contain 6 papers. the topics discussed include: how to do proofs: practically proving properties about effectful programs’ results (functional pearl);deferring the details and deriving programs;generi...
ISBN:
(纸本)9781450368155
the proceedings contain 6 papers. the topics discussed include: how to do proofs: practically proving properties about effectful programs’ results (functional pearl);deferring the details and deriving programs;generic level polymorphic N-ary functions;inductive types deconstructed: the calculus of united constructions;and constraint-based type-directed program synthesis.
Curry-Howard-Lambek isomorphism defines a correspondence between at first sight different theories: Church's computational calculi (which is the foundation of functionalprogramming paradigm), intuitionistic logic...
详细信息
暂无评论