12 research outputs found

    Contributions to the Construction of Extensible Semantic Editors

    Get PDF
    This dissertation addresses the need for easier construction and extension of language tools. Specifically, the construction and extension of so-called semantic editors is considered, that is, editors providing semantic services for code comprehension and manipulation. Editors like these are typically found in state-of-the-art development environments, where they have been developed by hand. The list of programming languages available today is extensive and, with the lively creation of new programming languages and the evolution of old languages, it keeps growing. Many of these languages would benefit from proper tool support. Unfortunately, the development of a semantic editor can be a time-consuming and error-prone endeavor, and too large an effort for most language communities. Given the complex nature of programming, and the huge benefits of good tool support, this lack of tools is problematic. In this dissertation, an attempt is made at narrowing the gap between generative solutions and how state-of-the-art editors are constructed today. A generative alternative for construction of textual semantic editors is explored with focus on how to specify extensible semantic editor services. Specifically, this dissertation shows how semantic services can be specified using a semantic formalism called refer- ence attribute grammars (RAGs), and how these services can be made responsive enough for editing, and be provided also when the text in an editor is erroneous. Results presented in this dissertation have been found useful, both in industry and in academia, suggesting that the explored approach may help to reduce the effort of editor construction

    Compile-time disambiguation of MATLAB types through concrete interpretation with automatic run-time fallback

    No full text

    B!SON: A Tool for Open Access Journal Recommendation

    Get PDF
    Finding a suitable open access journal to publish scientific work is a complex task: Researchers have to navigate a constantly growing number of journals, institutional agreements with publishers, funders’ conditions and the risk of Predatory Publishers. To help with these challenges, we introduce a web-based journal recommendation system called B!SON. It is developed based on a systematic requirements analysis, built on open data, gives publisher-independent recommendations and works across domains. It suggests open access journals based on title, abstract and references provided by the user. The recommendation quality has been evaluated using a large test set of 10,000 articles. Development by two German scientific libraries ensures the longevity of the project

    Q(sqrt(-3))-Integral Points on a Mordell Curve

    Get PDF
    We use an extension of quadratic Chabauty to number fields,recently developed by the author with Balakrishnan, Besser and M ̈uller,combined with a sieving technique, to determine the integral points overQ(√−3) on the Mordell curve y2 = x3 − 4

    Security techniques for sensor systems and the Internet of Things

    Get PDF
    Sensor systems are becoming pervasive in many domains, and are recently being generalized by the Internet of Things (IoT). This wide deployment, however, presents significant security issues. We develop security techniques for sensor systems and IoT, addressing all security management phases. Prior to deployment, the nodes need to be hardened. We develop nesCheck, a novel approach that combines static analysis and dynamic checking to efficiently enforce memory safety on TinyOS applications. As security guarantees come at a cost, determining which resources to protect becomes important. Our solution, OptAll, leverages game-theoretic techniques to determine the optimal allocation of security resources in IoT networks, taking into account fixed and variable costs, criticality of different portions of the network, and risk metrics related to a specified security goal. Monitoring IoT devices and sensors during operation is necessary to detect incidents. We design Kalis, a knowledge-driven intrusion detection technique for IoT that does not target a single protocol or application, and adapts the detection strategy to the network features. As the scale of IoT makes the devices good targets for botnets, we design Heimdall, a whitelist-based anomaly detection technique for detecting and protecting against IoT-based denial of service attacks. Once our monitoring tools detect an attack, determining its actual cause is crucial to an effective reaction. We design a fine-grained analysis tool for sensor networks that leverages resident packet parameters to determine whether a packet loss attack is node- or link-related and, in the second case, locate the attack source. Moreover, we design a statistical model for determining optimal system thresholds by exploiting packet parameters variances. With our techniques\u27 diagnosis information, we develop Kinesis, a security incident response system for sensor networks designed to recover from attacks without significant interruption, dynamically selecting response actions while being lightweight in communication and energy overhead

    Enriched Event Streams: A General Platform For Empirical Studies On In-IDE Activities Of Software Developers

    Get PDF
    Current studies on software development either focus on the change history of source code from version-control systems or on an analysis of simplistic in-IDE events without context information. Each of these approaches contains valuable information that is unavailable in the other case. This work proposes enriched event streams, a solution that combines the best of both worlds and provides a holistic view on the in-IDE software development process. Enriched event streams not only capture developer activities in the IDE, but also specialized context information, such as source-code snapshots for change events. To enable the storage of such code snapshots in an analyzable format, we introduce a new intermediate representation called Simplified Syntax Trees (SSTs) and build CARET, a platform that offers reusable components to conveniently work with enriched event streams. We implement FeedBaG++, an instrumentation for Visual Studio that collects enriched event streams with code snapshots in the form of SSTs and share a dataset of enriched event streams captured in an ongoing field study from 81 users and representing 15K hours of active development. We complement this with a dataset of 69M lines of released source code extracted from 360 GitHub repositories. To demonstrate the usefulness of our platform, we use it to conduct studies on the in-IDE development process that are both concerned with source-code evolution and the analysis of developer interactions. In addition, we build recommendation systems for software engineering and analyze and improve current evaluation techniques

    Essential Speech and Language Technology for Dutch: Results by the STEVIN-programme

    Get PDF
    Computational Linguistics; Germanic Languages; Artificial Intelligence (incl. Robotics); Computing Methodologie

    Framework-level resource awareness in robotics and intelligent systems. Improving dependability by exploiting knowledge about system resources

    Get PDF
    Wienke J. Framework-level resource awareness in robotics and intelligent systems. Improving dependability by exploiting knowledge about system resources. Bielefeld: Universität Bielefeld; 2018.Modern robots have evolved to complex hardware and software systems. As such, their construction and maintenance have become more challenging and the potential for failures has increased. These failures and the resulting reduction of dependability have a considerable effect on the acceptance and usefulness of robotics systems in their intended applications. Even though different software engineering techniques have been developed to control dependability-critical aspects of such complex systems, the state of the art for experimental robotics and intelligent systems is that – if at all – functional properties are systematically controlled though techniques such as unit testing and simulation runs. Yet, system dependability can also be impaired if nonfunctional properties behave unexpectedly. This thesis focuses on the utilization of system resources such as CPU, memory, or network bandwidth as an important nonfunctional aspect, which has not received much systematic treatment in robotics and intelligent systems so far. Unexpected utilizations of system resources can have effects ranging from merely wasting energy and reducing a robot’s operational time to a degradation in its function due to processing delays. Even safety-critical situations can arise, for instance, if a motion planner or obstacle avoidance component cannot react before a collision. Therefore, the systematic analysis of a system’s resource utilization, a guidance of developers regarding these aspects, and testing and fault detection for unexpected resource utilization patterns are an effective contribution of this thesis towards more reliable robots. In this work I describe a concept for integrating resource awareness into component-based robotics and intelligent systems. This concept specifically addresses the often loosely controlled development process predominant in experimental research. As such, the presented methods have to be applicable without a high overhead or large changes to the evolved development methods and system structures. Within this concept, which I termed framework-level resource awareness, I have explored methods in two directions: On the one hand, a set of tools helps developers to understand and systematically control the resource utilization while developing and testing systems. On the other hand, I have applied machine learning techniques to enable autonomous reactions at runtime based on predictions about the resource utilization of system components. With the two views, this work explores novel directions for implementing resource awareness in research systems and the conducted evaluations underline the suitability of the framework-level resource awareness concept
    corecore