English
Related papers

Related papers: Historia: Refuting Callback Reachability with Mess…

200 papers

Developing interactive applications (apps) against event-driven software frameworks such as Android is notoriously difficult. To create apps that behave as expected, developers must follow complex and often implicit asynchronous programming…

Programming Languages · Computer Science 2019-06-14 Shawn Meier , Sergio Mover , Bor-Yuh Evan Chang

With the continuous rise in the popularity of Android mobile devices, automated testing of apps has become more important than ever. Android apps are event-driven programs. Unfortunately, generating all possible types of events by…

App quality has been shown to be the most important indicator of app adoption. To assure quality, developers mainly use testing to find bugs in app and apply structural and GUI test coverage criteria. However, mobile apps have more…

Software Engineering · Computer Science 2019-11-22 Danilo Dominguez Perez , Wei Le

One of the challenges of analyzing, testing and debugging Android apps is that the potential execution orders of callbacks are missing from the apps' source code. However, bugs, vulnerabilities and refactoring transformations have been…

Software Engineering · Computer Science 2017-03-31 Danilo Dominguez Perez , Wei Le

Mobile phones have developed into complex platforms with large numbers of installed applications and a wide range of sensitive data. Application security policies limit the permissions of each installed application. As applications may…

Cryptography and Security · Computer Science 2012-05-01 Steffen Bartsch , Karsten Sohr , Michaela Bunke , Oliver Hofrichter , Bernhard Berger

Rollback recovery strategies are well-known in concurrent and distributed systems. In this context, recovering from unexpected failures is even more relevant given the non-deterministic nature of execution, which means that it is…

Programming Languages · Computer Science 2024-01-08 Germán Vidal

Callbacks are essential in many programming environments, but drastically complicate program understanding and reasoning because they allow to mutate object's local states by external objects in unexpected fashions, thus breaking…

Programming Languages · Computer Science 2018-01-15 Shelly Grossman , Ittai Abraham , Guy Golan-Gueta , Yan Michalevsky , Noam Rinetzky , Mooly Sagiv , Yoni Zohar

Recent studies observe that app foreground is the most striking component that influences the access control decisions in mobile platform, as users tend to deny permission requests lacking visible evidence. However, none of the existing…

Cryptography and Security · Computer Science 2019-01-24 Hao Fu , Zizhan Zheng , Sencun Zhu , Pransant Mohapatra

The increasing popularity of cell phones has made them the most personal and ubiquitous communication devices nowadays. Typically, the ringing notifications of mobile phones are used to inform the users about the incoming calls. However,…

Computers and Society · Computer Science 2018-10-26 Iqbal H. Sarker

Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive procedures and…

Programming Languages · Computer Science 2012-12-18 Jurriaan Rot , Irina Măriuca Asăvoae , Frank de Boer , Marcello M. Bonsangue , Dorel Lucanu

The reachability analysis of recursive programs that communicate asynchronously over reliable FIFO channels calls for restrictions to ensure decidability. Our first result characterizes communication topologies with a decidable reachability…

Logic in Computer Science · Computer Science 2015-07-01 Alexander Heussner , Jérôme Leroux , Anca Muscholl , Grégoire Sutre

Traffic analysis attacks remain a significant problem for online security. Communication between nodes can be observed by network level attackers as it inherently takes place in the open. Despite online services increasingly using encrypted…

Cryptography and Security · Computer Science 2025-07-04 Jeppe Fredsgaard Blaabjerg , Aslan Askarov

We present lifestate rules--an approach for abstracting event-driven object protocols. Developing applications against event-driven software frameworks is notoriously difficult. One reason why is that to create functioning applications,…

Programming Languages · Computer Science 2017-01-03 Shawn Meier , Aleksandar Chakarov , Maxwell Russek , Sergio Mover , Bor-Yuh Evan Chang

Event-driven programming frameworks, such as Android, are based on components with asynchronous interfaces. The protocols for interacting with these components can often be described by finite-state machines we dub *callback typestates*.…

Embedded computing systems today increasingly feature resource constraints and workload variability, which lead to uncertainty in resource availability. This raises great challenges to software design and programming in multitasking…

Operating Systems · Computer Science 2008-12-18 Feng Xia , Guosong Tian , Youxian Sun

Effect systems are used to statically reason about the effects an expression may have when evaluated. In the literature, such effects include various behaviours as diverse as memory accesses and exception throwing. Here we present CallE, an…

Programming Languages · Computer Science 2019-09-09 Isaac Oscar Gariano , James Noble , Marco Servetto

Aspects of frameworks, such as inversion of control and the structure of framework applications, require developers to adjust their debugging strategies as compared to debugging sequential programs. However, the benefits and challenges of…

Software Engineering · Computer Science 2018-01-17 Zack Coker , David Gray Widder , Claire Le Goues , Christopher Bogart , Joshua Sunshine

Event-driven programming is a popular paradigm where the flow of execution is controlled by two features: (1) shared memory and (2) sending and receiving of messages between multiple handler threads (just called handler). Each handler has a…

Programming Languages · Computer Science 2025-08-12 Parosh Aziz Abdulla , Mohamed Faouzi Atig , R. Govind , Samuel Grahn , Ramanathan S. Thinniyam

In this paper, we study the program-point reachability problem of concurrent pushdown systems that communicate via unbounded and unordered message buffers. Our goal is to relax the common restriction that messages can only be retrieved by a…

Logic in Computer Science · Computer Science 2014-01-27 Jonathan Kochems , C-H Luke Ong

Asynchrony has become an inherent element of JavaScript, as an effort to improve the scalability and performance of modern web applications. To this end, JavaScript provides programmers with a wide range of constructs and features for…

Programming Languages · Computer Science 2019-01-14 Thodoris Sotiropoulos , Benjamin Livshits
‹ Prev 1 2 3 10 Next ›