Context Testing is a critical and costly activity in the life cycle of a mobile application, due to the growing request of new applications and to the rapid evolution of mobile devices and …
We investigate a family of bugs in blockchain-based smart contracts, which we dub event- ordering (or EO) bugs. These bugs are intimately related to the dynamic ordering of contract …
Automatic static detection of data races is one of the most basic problems in reasoning about concurrency. We present RacerD—a static program analysis for detecting data races in Java …
Native code is now commonplace within Android app packages where it co-exists and interacts with Dex bytecode through the Java Native Interface to deliver rich app …
Fuzzing is popular for bug detection and vulnerability discovery nowadays. To adopt fuzzing for concurrency problems like data races, several recent concurrency fuzzing approaches …
Concurrency bugs are hard to find, reproduce, and debug. They often escape rigorous in- house testing, but result in large-scale outages in production. Existing concurrency-bug …
Event-driven applications, such as, mobile apps, are difficult to test thoroughly. The application programmers often put significant effort into writing end-to-end test suites. Even …
Y Hu, T Azim, I Neamtiu - Proceedings of the 2015 acm sigplan …, 2015 - dl.acm.org
Recording and replaying the execution of smartphone apps is useful in a variety of contexts, from reproducing bugs to profiling and testing. Achieving effective record-and-replay is a …
Data races in multi-threaded parallel applications are notoriously damaging while extremely difficult to detect. Many tools have been developed to help programmers find data races …