47 research outputs found

    An Investigation into the Imposed Cognitive Load of Static & Dynamic Type Systems on Programmers

    Get PDF
    Static and dynamic type systems have long been a point of contention in the programming language wars. Yet, for many years, arguments on either side were drawn from personal experience and not empirical evidence. A challenge for researchers is that the usability of language constructs is difficult to quantify, especially since usability can be interpreted in many ways. By one definition, language usability can be measured in terms of the level of cognitive load imposed on a developer. This can be done through questionnaires, but ultimately user responses are subject to bias. In recent years, eye-tracking has been shown to be an effective means of measuring cognitive load via direct physiological measures. Towards the goal of measuring type system usability, we present a user study in which participants completed programming tasks in Java and Groovy. This thesis explored the use of the Index of Cognitive Activity (ICA) as a cognitive load measurement tool and considered novices and experts separately in the analysis. We found ICA to be an ineffective means of measuring type system usability and we cannot say conclusively whether it can be generally applied to programming tasks. Despite this, our results contradict previous studies as we found type system did not affect success rate, task completion time, or perceived task difficulty

    An Empirical Investigation of Performance Overhead in Cross-Platform Mobile Development Frameworks

    Get PDF
    The heterogeneity of the leading mobile platforms in terms of user interfaces, user experience, programming language, and ecosystem have made cross-platform development frameworks popular. These aid the creation of mobile applications – apps – that can be executed across the target platforms (typically Android and iOS) with minimal to no platform-specific code. Due to the cost- and time-saving possibilities introduced through adopting such a framework, researchers and practitioners alike have taken an interest in the underlying technologies. Examining the body of knowledge, we, nonetheless, frequently encounter discussions on the drawbacks of these frameworks, especially with regard to the performance of the apps they generate. Motivated by the ongoing discourse and a lack of empirical evidence, we scrutinised the essential piece of the cross-platform frameworks: the bridge enabling cross-platform code to communicate with the underlying operating system and device hardware APIs. The study we present in the article benchmarks and measures the performance of this bridge to reveal its associated overhead in Android apps. The development of the artifacts for this experiment was conducted using five cross-platform development frameworks to generate Android apps, in addition to a baseline native Android app implementation. Our results indicate that – for Android apps – the use of cross-platform frameworks for the development of mobile apps may lead to decreased performance compared to the native development approach. Nevertheless, certain cross-platform frameworks can perform equally well or even better than native on certain metrics which highlights the importance of well-defined technical requirements and specifications for deliberate selection of a cross-platform framework or overall development approach.publishedVersio

    On The Human Factors Impact of Polyglot Programming on Programmer Productivity

    Full text link
    Polyglot programming is a common practice in modern software development. This practice is often considered useful to create software by allowing developers to use whichever language they consider most well suited for the different parts of their software. Despite this ubiquity of polyglot programming there is no empirical research into how this practice affects software developers and their productivity. In this dissertation, after reviewing the state of the art in programming language and linguistic research pertaining to the topic, this matter is investigated by way of two empirical studies with 109 and 171 participants solving programming tasks. Based on the findings, the design of a data management library, a common use-case for polyglot programming, is proposed broadly and then applied specifically to the language Quorum as a case study. The review of previous studies finds that there is a pattern of productivity gain that can be explained by the occurrence of type annotations in programming, which gives insight into how programmers comprehend code. Study results show that there is a significant improvement of programmer productivity when programmers are using polyglot programming in an embedded context (partial eta squared = 0.039) and that less experienced programmers do better in a group with more frequent, but less severe, switches, while more experienced developers perform better with less frequent but more complete switches between languages. A study on language switches on a file level shows that file level programming language switching has a clear negative impact on programmer productivity (partial eta squared = 0.059) and is most likely caused by the increased occurrence of errors when switching

    Automatic schema extraction from RDF data

    Get PDF
    The Resource Description Framework (RDF) is a model for the representation of semantic data. RDF allows the storage of information without a fixed schema. This provides more flexibility but the lack of a fixed schema poses a significant entry barrier to the utilisation of the stored data. The SPARQL language is used for querying an RDF database. Several works exist in the domain of schema extraction from SPARQL end- points. Most tend to provide a visual representation of the schema, rather than an immediately usable output. Many of these solutions perform a very thorough and lengthy extraction unsuitable for a web application environment and some are not even available online. This thesis introduces TypeSPARQ, an open-source web application for ex- tracting schemata from SPARQL endpoints. TypeSPARQ creates a visualisation of the endpoint's schema and offers options for exporting it. TypeSPARQ in- tegrates with LDKit, which provides type-safe access to SPARQL endpoints for TypeScript applications. These tools combined offer TypeScript developers a seamless process from endpoint exploration to integrating the endpoint within their projects. 1Resource Description Framework (RDF) je datový model pro reprezentaci sémantických dat. RDF umožňuje uložení informací bez pevného schématu. To poskytuje více flexibility, ale absence pevného schématu představuje významnou vstupní bariéru pro využití těchto dat. Jazyk SPARQL se používá pro dotazování databází s RDF daty. Existuje několik řešení v oblasti extrakce schématu s využitím jazyka SPARQL. Většina řešení se přiklání k poskytnutí vizuální reprezentace schématu spíše než k tvorbě okamžitě použitelné výstupu. Mnoho těchto řešení provádí velmi důkladnou a dlouhou extrakci, která není vhodná pro prostředí webové aplikace, a některé nejsou dokonce dostupné online. Tato práce představuje TypeSPARQ, open-source webovou aplikaci pro ex- trakci schématu ze SPARQL endpointů. TypeSPARQ vytváří vizualizaci schématu koncového bodu a nabízí možnosti jeho exportu. TypeSPARQ je in- tegrovaná s knihovnou LDKit, která poskytuje bezpečný typovaný přístup ke SPARQL endpointům pro TypeScript aplikace. Tyto nástroje dohromady nabízejí TypeScriptovým vývojářům bezproblémový průběh vývoje od průzkumu koncového bodu po jeho integraci do projektů. 1Katedra softwarového inženýrstvíDepartment of Software EngineeringFaculty of Mathematics and PhysicsMatematicko-fyzikální fakult

    An empirical investigation of performance overhead in cross-platform mobile development frameworks

    Get PDF
    The heterogeneity of the leading mobile platforms in terms of user interfaces, user experience, programming language, and ecosystem have made cross-platform development frameworks popular. These aid the creation of mobile applications – apps – that can be executed across the target platforms (typically Android and iOS) with minimal to no platform-specific code. Due to the cost- and time-saving possibilities introduced through adopting such a framework, researchers and practitioners alike have taken an interest in the underlying technologies. Examining the body of knowledge, we, nonetheless, frequently encounter discussions on the drawbacks of these frameworks, especially with regard to the performance of the apps they generate. Motivated by the ongoing discourse and a lack of empirical evidence, we scrutinised the essential piece of the cross-platform frameworks: the bridge enabling cross-platform code to communicate with the underlying operating system and device hardware APIs. The study we present in the article benchmarks and measures the performance of this bridge to reveal its associated overhead in Android apps. The development of the artifacts for this experiment was conducted using five cross-platform development frameworks to generate Android apps, in addition to a baseline native Android app implementation. Our results indicate that – for Android apps – the use of cross-platform frameworks for the development of mobile apps may lead to decreased performance compared to the native development approach. Nevertheless, certain cross-platform frameworks can perform equally well or even better than native on certain metrics which highlights the importance of well-defined technical requirements and specifications for deliberate selection of a cross-platform framework or overall development approach

    Understanding Formal Specifications through Good Examples

    Get PDF
    Formal specifications of software applications are hard to understand, even for domain experts. Because a formal specification is abstract, reading it does not immediately convey the expected behaviour of the software. Carefully chosen examples of the software’s behaviour, on the other hand, are concrete and easy to understand—but poorly-chosen examples are more confusing than helpful. In order to understand formal specifications, software developers need good examples.We have created a method that automatically derives a suite of good examples from a formal specification. Each example is judged by our method to illustrate one feature of the specification. The generated examples give users a good understanding of the behaviour of the software. We evaluated our method by measuring how well students understood an API when given different sets of examples; the students given our examples showed significantly better understanding

    Digital Scholarly Editions as Interfaces

    Get PDF
    The present volume “Digital Scholarly Editions as Interfaces” is the follow-up publication of the same-titled symposium that was held in 2016 at the University of Graz and the twelfth volume of the publication series of the Institute for Documentology and Scholarly Editing (IDE). It is the result of a successful collaboration between members of the Centre for Information Modelling at the University of Graz, the Digital Scholarly Editions Initial Training Network DiXiT, a EC Marie Skłodowska-Curie Action, and the IDE. All articles have undergone a peer reviewing process and are published in Open Access. They document the current state of research on design, application and implications of both user and machine interfaces in the context of digital scholarly editions. The editors of the volume are grateful to the Marie Skłodowska-Curie Actions for enabling not only the symposium in 2016 but also the publication of the present volume with their financial support. Special thanks are also due to the staff of the Centre for Information Modelling, above all Georg Vogeler, who contributed to the successful organisation and completion of the symposium and this volume with their ideas and continuous support. Furthermore we want to thank all authors as well as all peer reviewers for the professional cooperation during the publication process. Last but not least we want to thank the many people involved in creating the present volume: Barbara Bollig (Trier) for language corrections and formal suggestions, Bernhard Assmann and Patrick Sahle (Cologne) for support and advises during the typese ing process, Selina Galka (Graz) for verifying and archiving (archive.org) all referenced URLs in January 2018, Julia Sorouri (Cologne) for the design of the cover as well as the artist Franz Konrad (Graz), who provided his painting “Desktop” (www.franzkonrad.com/gallery/desktop-2008-2010/) as cover image. We hope you enjoy reading and get as much intrigued by the topic “Digital Scholarly Editions as Interfaces” as we did

    Software Engineering in the IoT Context: Characteristics, Challenges, and Enabling Strategies

    Get PDF
    L'abstract è presente nell'allegato / the abstract is in the attachmen
    corecore