scholarly journals APIfix: output-oriented program synthesis for combating breaking changes in libraries

2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-27
Author(s):  
Xiang Gao ◽  
Arjun Radhakrishna ◽  
Gustavo Soares ◽  
Ridwan Shariffdeen ◽  
Sumit Gulwani ◽  
...  

Use of third-party libraries is extremely common in application software. The libraries evolve to accommodate new features or mitigate security vulnerabilities, thereby breaking the Application Programming Interface(API) used by the software. Such breaking changes in the libraries may discourage client code from using the new library versions thereby keeping the application vulnerable and not up-to-date. We propose a novel output-oriented program synthesis algorithm to automate API usage adaptations via program transformation. Our aim is not only to rely on the few example human adaptations of the clients from the old library version to the new library version, since this can lead to over-fitting transformation rules. Instead, we also rely on example usages of the new updated library in clients, which provide valuable context for synthesizing and applying the transformation rules. Our tool APIFix provides an automated mechanism to transform application code using the old library versions to code using the new library versions - thereby achieving automated API usage adaptation to fix the effect of breaking changes. Our evaluation shows that the transformation rules inferred by APIFix achieve 98.7% precision and 91.5% recall. By comparing our approach to state-of-the-art program synthesis approaches, we show that our approach significantly reduces over-fitting while synthesizing transformation rules for API usage adaptations.

2018 ◽  
Vol 9 (1) ◽  
pp. 24-31
Author(s):  
Rudianto Rudianto ◽  
Eko Budi Setiawan

Availability the Application Programming Interface (API) for third-party applications on Android devices provides an opportunity to monitor Android devices with each other. This is used to create an application that can facilitate parents in child supervision through Android devices owned. In this study, some features added to the classification of image content on Android devices related to negative content. In this case, researchers using Clarifai API. The result of this research is to produce a system which has feature, give a report of image file contained in target smartphone and can do deletion on the image file, receive browser history report and can directly visit in the application, receive a report of child location and can be directly contacted via this application. This application works well on the Android Lollipop (API Level 22). Index Terms— Application Programming Interface(API), Monitoring, Negative Content, Children, Parent.


2021 ◽  
pp. 146144482110625
Author(s):  
Daniel G Heslep ◽  
PS Berge

Discord, a popular community chat application, has rhetorically distanced itself from its associations with white supremacist content through a public commitment to proactive moderation. However, Discord relies extensively on third-party services (like bots and server bulletins), which have been overlooked in their role in facilitating hateful networks. This study notes how Discord offloads searchability to server bulletin sites like Disboard, to deleterious effect. This study involves two parts: (1) we use critical technoculture discourse analysis to examine Discord’s blogs, policies, and application programming interface and (2) we present data scraped from 2741 Discord servers listed on Disboard, revealing networks of hateful and white supremacist communities that openly use “edgy,” raiding-oriented, and toxic messaging. These servers exploit Discord’s moderation tools and affordances to proliferate within Discord’s distributed ecology. We argue that Discord’s policies fail to address its reliance on unmoderated third-party services or the networked practices of its toxic communities.


2015 ◽  
Vol 2015 ◽  
pp. 1-14 ◽  
Author(s):  
David Couturier ◽  
Michel R. Dagenais

As computation schemes evolve and many new tools become available to programmers to enhance the performance of their applications, many programmers started to look towards highly parallel platforms such as Graphical Processing Unit (GPU). Offloading computations that can take advantage of the architecture of the GPU is a technique that has proven fruitful in recent years. This technology enhances the speed and responsiveness of applications. Also, as a side effect, it reduces the power requirements for those applications and therefore extends portable devices battery life and helps computing clusters to run more power efficiently. Many performance analysis tools such as LTTng, strace and SystemTap already allow Central Processing Unit (CPU) tracing and help programmers to use CPU resources more efficiently. On the GPU side, different tools such as Nvidia’s Nsight, AMD’s CodeXL, and third party TAU and VampirTrace allow tracing Application Programming Interface (API) calls and OpenCL kernel execution. These tools are useful but are completely separate, and none of them allow a unified CPU-GPU tracing experience. We propose an extension to the existing scalable and highly efficient LTTng tracing platform to allow unified tracing of GPU along with CPU’s full tracing capabilities.


2020 ◽  
Vol 10 (24) ◽  
pp. 9048
Author(s):  
Mingwan Kim ◽  
Neunghoe Kim

Application Programming Interface (API) usage mining is an approach used to extract the common API usage to help developers get used to the APIs. However, in Android applications, the usage can be hidden or fragmented due to class inheritance. Such hidden or fragmented usages could decrease the coverage and accuracy of the existing API mining approaches. Our method aims to resolve the problem of hidden and fragmented usages through API generalization. This generalized usage is expected to be applicable to every class that inherits a class in the usage. In the experiment, among 442,809 Android API usages, 104,839 usages either were hidden or fragmented. By revealing such usages, the accuracy of the code completion was improved by at most 6.66%. The usage generalization was efficient for extracting API usages in Android applications in which the APIs are used through class inheritance.


2012 ◽  
pp. 426-444
Author(s):  
Teng-Wen Chang ◽  
Jiann-Liang Chen

Notably, not all telematics services can be used in telematics terminals as a result of the varied platform standards. The main issues are that most telematics technologies depend on vertical, proprietary and closed per-OEM Original Equipment Manufacture (OEM) platforms, forming islands of non-interoperable technology and preventing third-party service providers from creating valuable services. In this study, the Open Gateway Service Initiative Vehicle Expert Group (OSGi/VEG) was integrated into an Android platform to generate a vehicular Android/OSGi platform that has the advantages of both original platforms, such as remote management, rich class sharing, proprietary vehicular applications, security policies, easy management of application programming interface (APIs), and an environment with increased openness. Furthermore, this study integrates the cloud computing mechanism into the Android/OSGi platform, which allows service providers to upload their telematics bundles onto storage clouds via the provisioning server.


2021 ◽  
pp. 016224392110426
Author(s):  
Alex Beattie

This paper critically investigates the ethical perspectives and practices of individuals and organizations who make persuasive technologies (“persuasive technologists”). An organization that claims to be at the forefront of ethical persuasion is behavioral software company Boundless Mind. Yet Boundless Mind sells ostensibly oxymoronic software products: an Application Programming Interface for third-party applications that optimizes the capture of end user attention, and an application for end users on how to make third-party applications less persuasive. Drawing upon Foucault’s interpretation of ethics as an “aesthetics of existence” and the related concept of “therapeutic authority,” I argue Boundless Mind justify the “poaching” and “protecting” of user attention based on a view of the human subject as fixable and their capability to instrumentalize user subjectivity to socially desirable ends. I walkthrough Boundless Mind’s technology-habit-breaking application Space and highlight a behavioral technique administered by Space called stimulus devaluation, which enables the user to develop a transformative relationship with their technology habits and persuasive applications. I conclude the paper by arguing that a persuasive technology ethics based on fixing the user obfuscates the power of persuasive technologists by limiting the scope of ethical inquiry to the activities of the user.


Author(s):  
Teng-Wen Chang ◽  
Jiann-Liang Chen

Notably, not all telematics services can be used in telematics terminals as a result of the varied platform standards. The main issues are that most telematics technologies depend on vertical, proprietary and closed per-OEM Original Equipment Manufacture (OEM) platforms, forming islands of non-interoperable technology and preventing third-party service providers from creating valuable services. In this study, the Open Gateway Service Initiative Vehicle Expert Group (OSGi/VEG) was integrated into an Android platform to generate a vehicular Android/OSGi platform that has the advantages of both original platforms, such as remote management, rich class sharing, proprietary vehicular applications, security policies, easy management of application programming interface (APIs), and an environment with increased openness. Furthermore, this study integrates the cloud computing mechanism into the Android/OSGi platform, which allows service providers to upload their telematics bundles onto storage clouds via the provisioning server.


2013 ◽  
Vol 100 (1) ◽  
pp. 91-100
Author(s):  
Ian Johnson

Abstract Open Machine Translation Core (OMTC) is a proposed open API that defines an application programming interface (API) for machine translation (MT) systems. The API defined is a service interface which can be used to underpin any type of MT application. It consists of components which allow programmers, with little effort, to integrate different MT back-ends into their applications since an OMTC compliant MT system presents a consistent interface. OMTC attempts to standardise the following aspects of an MT system: resources - the abstract representation of assets used e.g. documents and translation memories, sessions - a period of time in which a user interacts with the system, session negotiation - agreement on which services are to be provided, authorisation - integration with third party authorisation systems to prevent users performing unauthorised actions, scheduling - the management of long running MT tasks, machine translation engines - a representation of an entity capable of providing only MT, and translators - a conglomeration of, at least one of the following, an MT engine, a collection of translation memories, and a collection of glossaries.


2017 ◽  
Vol 4 (2) ◽  
pp. 112-119
Author(s):  
Hadi Pranoto ◽  
Eko Budi Setiawan

Android has been updating the system of every version it releases. The addition of Application Programming Interface (API) is done every time Google releases a new Android operating system. The availability of APIs for third-party applications provides opportunities for developers to be able to monitor Android smartphones. Just like Google Device Manager which can instruct Android smartphones over the internet network, however, it still has a deficiency that is if the target smartphone in a state of inactive internet. In this research, the author utilizes SMS media to be able to process instructions and access the system API for monitoring purposes. The results of this research is by using SMS then user can instruct Android smartphone to take photos, get current location, ring, delete smartphone files, set screen protection, and backup contact with higher messaging reliability. This application can run well on Android Lollipop 5.1 (API Level 22) or above because it has enough API to support system functionality.


Sign in / Sign up

Export Citation Format

Share Document