495 research outputs found
Recommended from our members
A systematic mapping study of API usability evaluation methods
An Application Programming Interface (API) provides a programmatic interface to a software component that is often offered publicly and may be used by programmers who are not the API’s original designers. APIs play a key role in software reuse. By reusing high quality components and services, developers can increase their productivity and avoid costly defects. The usability of an API is a qualitative characteristic that evaluates how easy it is to use an API. Recent years have seen a considerable increase in research efforts aiming at evaluating the usability of APIs. An API usability evaluation can identify problem areas and provide recommendations for improving the API. In this systematic mapping study, we focus on 47 primary studies to identify the aim and the method of the API usability studies. We investigate which API usability factors are evaluated, at which phases of API development is the usability of API evaluated and what are the current limitations and open issues in API usability evaluation. We believe that the results of this literature review would be useful for both researchers and industry practitioners interested in investigating the usability of API and new API usability evaluation methods
Adaptoring: Adapter Generation to Provide an Alternative API for a Library
Third-party libraries are a cornerstone of fast application development. To
enable efficient use, libraries must provide a well-designed API. An obscure
API instead slows down the learning process and can lead to erroneous use.
The usual approach to improve the API of a library is to edit its code
directly, either keeping the old API but deprecating it (temporarily increasing
the API size) or dropping it (introducing breaking changes). If maintainers are
unwilling to make such changes, others need to create a hard fork, which they
can refactor. But then it is difficult to incorporate changes to the original
library, such as bug fixes or performance improvements.
In this paper, we instead explore the use of the adapter pattern to provide a
new API as a new library that calls the original library internally. This
allows the new library to leverage all implementation changes to the original
library, at no additional cost. We call this approach adaptoring. To make the
approach practical, we identify API transformations for which adapter code can
be generated automatically, and investigate which transformations can be
inferred automatically, based on the documentation and usage patterns of the
original library. For cases where automated inference is not possible, we
present a tool that lets developers manually specify API transformations.
Finally, we consider the issue of migrating the generated adapters if the
original library introduces breaking changes. We implemented our approach for
Python, demonstrating its effectiveness to quickly provide an alternative API
even for large libraries.Comment: Accepted at the International Conference on Software Analysis,
Evolution and Reengineering (SANER 2024
Why Do Developers Get Password Storage Wrong? A Qualitative Usability Study
Passwords are still a mainstay of various security systems, as well as the
cause of many usability issues. For end-users, many of these issues have been
studied extensively, highlighting problems and informing design decisions for
better policies and motivating research into alternatives. However, end-users
are not the only ones who have usability problems with passwords! Developers
who are tasked with writing the code by which passwords are stored must do so
securely. Yet history has shown that this complex task often fails due to human
error with catastrophic results. While an end-user who selects a bad password
can have dire consequences, the consequences of a developer who forgets to hash
and salt a password database can lead to far larger problems. In this paper we
present a first qualitative usability study with 20 computer science students
to discover how developers deal with password storage and to inform research
into aiding developers in the creation of secure password systems
Improving the user experience of open application programming interface (API) from a digital marketing perspective: A case study in a global telecommunications company
Application programming interface (API) is a programming interface that allows different applications to share information, functionality, and other resources with each other. When creating an open-source application programming interface, customer feedback is important. Understanding end-user needs can help improve the interface and target marketing activities. It is known from previous studies that quality of experience (QoE) is the driver for open radio access networks (O-RAN) and that user experience (UX) is what affects system use and leads to actual usage.
This subject is relevant in this area of science since the software developer's perspective on open application programming interfaces is often disregarded, resulting in fewer studies. The objective of this thesis is to determine the necessary technological requirements to improve software developers' user experience and attract new customers. This research is based on an empirical study developing an open application programming interface for business-to-business (B2B) customers. The technology that is a central part of the study is programmable wireless network that allows to develop non-real time applications called xApps.
This is case study research, which uses both quantitative and qualitative research methods. Information gathered for this research is going to be collected via interviews and surveys from the target group. This thesis's limitation is that the analyzed target group has a limited business market. The empirical data for this research is gathered from a global telecommunication company, from publications about the industry, and surveys and interviews gathered from the target market group.
The three main findings of the thesis are related to how building trust among developers and partners is crucial, how developers need to be encouraged to learn something new and how developers that have more experience have fewer expectations. Previous research indicates that discovery about developers that have more experience have fewer expectations is new in this field of study. As a conclusion there are entry level blockages, telecommunication technology development, partner engagement, community, cost, and platform related killers that affect the motivation and prevent investing into an open API platform that specializes in xApps. To create a successful xApp platform the provider company needs to tackle these problems and highlight the possibilities that xApps offer.Sovellusohjelmointirajapinnan (API, Application programming interface) avulla eri sovellukset voivat jakaa tietoja, toimintoja ja muita resursseja keskenään. Avoimen lähdekoodin sovellusohjelmointirajapintaa luotaessa asiakaspalaute on tärkeää. Loppukäyttäjien tarpeiden ymmärtäminen voi auttaa parantamaan rajapintaa ja kohdentamaan markkinointia paremmin. Opinnäytetyön tavoitteena on selvittää, mitkä teknologiset vaatimukset ovat tarpeen ohjelmistokehittäjien käyttökokemuksen parantamiseksi ja uusien asiakkaiden houkuttelemiseksi. Aiemmista tutkimuksista tiedetään, että kokemuksen laatu (QoE) on avointen radioliityntäverkkojen (O-RAN) liikkeelle paneva voima ja, että käyttökokemus (UX) vaikuttaa järjestelmän käyttöön ja johtaa varsinaiseen käyttöön.
Aiheella on merkitystä tällä tieteen alalla, koska ohjelmistokehittäjän näkökulma avoimiin sovellusohjelmointirajapintoihin jää usein huomiotta, jolloin ohjelmistokehittäjän näkökulmasta tietoa löytyy vähemmän. Tutkimus perustuu empiiriseen tutkimukseen, jossa kehitetään avoimen sovelluksen ohjelmarajapintaa yritysten välisille asiakkaille (B2B). Tutkimuksen keskeisenä teknologiana on ohjelmoitava langaton verkko, jonka avulla voidaan kehittää ei-reaaliaikaisia xApp-sovelluksia.
Tämä tutkimus on tapaustutkimus, jossa on käytetty sekä kvantitatiivisia että kvalitatiivisia tutkimusmenetelmiä. Tutkimusta varten tietoa on kerätty kohderyhmän haastatteluilla ja kyselyillä. Tutkimuksen rajoituksena on, että analysoidulla kohderyhmällä on rajalliset liiketoimintamarkkinat. Empiirinen data tähän tutkimukseen on kerätty globaalista tietoliikenneyhtiöstä, alan julkaisuista sekä kohderyhmältä kerätyistä kyselyistä ja haastatteluista.
Opinnäytetyön kolme päähavaintoa ovat, että luottamuksen rakentaminen kehittäjien ja kumppaneiden keskuudessa on ratkaisevan tärkeää, kehittäjiä tulee kannustaa oppimaan uutta ja kokeneemmilla kehittäjillä on vähemmän odotuksia. Aiemmat tutkimukset osoittavat, että löytö siitä, että kokeneemmilla kehittäjillä on vähemmän odotuksia, on uusi tällä tutkimusalalla. Johtopäätöksenä lähtötason pullonkaulat, viestintäteknologian kehitys, kumppanuussitoutuminen, yhteisön, kustannusten ja alustan tappajat vaikuttavat motivaatioon ja heikentävät investointia xAppeihin erikoistuneeseen avoimeen API-alustaan. Menestyvän xApp-alustan luomiseksi yrityksen on puututtava näihin ongelmiin ja tuotava esiin xAppien tarjoamat mahdollisuudet
AUGMENTED TOUCH INTERACTIONS WITH FINGER CONTACT SHAPE AND ORIENTATION
Touchscreen interactions are far less expressive than the range of touch that human hands are capable of - even considering technologies such as multi-touch and force-sensitive surfaces. Recently, some touchscreens have added the capability to sense the actual contact area of a finger on the touch surface, which provides additional degrees of freedom - the size and shape of the touch, and the finger's orientation. These additional sensory capabilities hold promise for increasing the expressiveness of touch interactions - but little is known about whether users can successfully use the new degrees of freedom. To provide this baseline information, we carried out a study with a finger-contact-sensing touchscreen, and asked participants to produce a range of touches and gestures with different shapes and orientations, with both one and two fingers. We found that people are able to reliably produce two touch shapes and three orientations across a wide range of touches and gestures - a result that was confirmed in another study that used the augmented touches for a screen lock application
On Using Machine Learning to Identify Knowledge in API Reference Documentation
Using API reference documentation like JavaDoc is an integral part of
software development. Previous research introduced a grounded taxonomy that
organizes API documentation knowledge in 12 types, including knowledge about
the Functionality, Structure, and Quality of an API. We study how well modern
text classification approaches can automatically identify documentation
containing specific knowledge types. We compared conventional machine learning
(k-NN and SVM) and deep learning approaches trained on manually annotated Java
and .NET API documentation (n = 5,574). When classifying the knowledge types
individually (i.e., multiple binary classifiers) the best AUPRC was up to 87%.
The deep learning and SVM classifiers seem complementary. For four knowledge
types (Concept, Control, Pattern, and Non-Information), SVM clearly outperforms
deep learning which, on the other hand, is more accurate for identifying the
remaining types. When considering multiple knowledge types at once (i.e.,
multi-label classification) deep learning outperforms na\"ive baselines and
traditional machine learning achieving a MacroAUC up to 79%. We also compared
classifiers using embeddings pre-trained on generic text corpora and
StackOverflow but did not observe significant improvements. Finally, to assess
the generalizability of the classifiers, we re-tested them on a different,
unseen Python documentation dataset. Classifiers for Functionality, Concept,
Purpose, Pattern, and Directive seem to generalize from Java and .NET to Python
documentation. The accuracy related to the remaining types seems API-specific.
We discuss our results and how they inform the development of tools for
supporting developers sharing and accessing API knowledge. Published article:
https://doi.org/10.1145/3338906.333894
Enabling audio-haptics
This thesis deals with possible solutions to facilitate orientation, navigation and overview of non-visual interfaces and virtual environments with the help of sound in combination with force-feedback haptics. Applications with haptic force-feedback, s
- …