This work develops a static analysis to create a model of the behavior of an Android application's GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the careful modeling of the stack of currently-active windows, the changes to this stack, and the effects of callbacks related to these changes. To the best of our knowledge, this is the first detailed study of this important static analysis problem for Android. We develop novel analysis algorithms for WTG construction and traversal, based on this modeling of the window stack. We also describe an application of the WTG for GUI test generation, using path traversals. The evaluation of the proposed algorithms indicates their effectiveness and practicality.
For static analysis researchers, Android software presents a wide variety of interesting challenges. The target of our work is static detection of energy-drain defects in Android applications. The management of energy-intensive resources �e.g., GPS) creates various opportunities for software defects.Our goal is to detect statically "missing deactivation" energydrain defects in the user interface of the application. First, we define precisely two patterns of run-time energy-drain behaviors, based on modeling of Android GUI control-flow paths and energy-related listener leaks along such paths. Next, we define a static detection algorithm targeting these patterns. The analysis considers valid interprocedural control-flow paths in a callback method and its transitive callees, in order to detect operations that add or remove listeners. Sequences of callbacks are then analyzed for possible listener leaks. Our evaluation considers the detection of GUI-related energy-drain defects reported in prior work, as well as new defects not discovered by prior approaches. In summary, the detection is very effective and precise, suggesting that the proposed analysis is suitable for practical use in static checking tools for Android.
In this article, the three-dimensional trajectory tracking control of an autonomous underwater vehicle is addressed. The vehicle is assumed to be underactuated and the system parameters and the external disturbances are unknown. First, the five degrees of freedom kinematics and dynamics model of underactuated autonomous underwater vehicle are acquired. Following this, reduced-order linear extended state observers are designed to estimate and compensate for the uncertainties that exist in the model and the external disturbances. A backstepping active disturbance rejection control method is designed with the help of a time-varying barrier Lyapunov function to constrain the position tracking error. Furthermore, the controller system can be proved to be stable by employing the Lyapunov stability theory. Finally, the simulation and comparative analyses demonstrate the usefulness and robustness of the proposed controller in the presence of internal parameter uncertainties and external time-varying disturbances.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.