The Experts below are selected from a list of 843 Experts worldwide ranked by ideXlab platform
Atanas Rountev - One of the best experts on this subject based on the ideXlab platform.
-
Static controlflow analysis of user-driven callbacks
2016Co-Authors: Shengqian Yang, Yan Wang, Dacong Yan, Atanas RountevAbstract:Abstract—Android software presents many challenges for static program analysis. In this work we focus on the fundamental problem of static control-flow analysis. Traditional analyses cannot be directly applied to Android because the applications are framework-based and Event-driven. We consider user-Event-driven components and the related sequences of callbacks from the Android framework to the application code, both for lifecycle callbacks and for Event Handler callbacks. We propose a program representation that captures such callback sequences. This representation is built using context-sensitive static analysis of callback methods. The analysis per-forms graph reachability by traversing context-compatible in-terprocedural control-flow paths and identifying statements that may trigger callbacks, as well as paths that avoid such statements. We also develop a client analysis that builds a static model of the application’s GUI. Experimental evaluation shows that this context-sensitive approach leads to substantial precision improvements, while having practical cost. I
-
static control flow analysis of user driven callbacks in android applications
International Conference on Software Engineering, 2015Co-Authors: Shengqian Yang, Haowei Wu, Yan Wang, Atanas RountevAbstract:Android software presents many challenges for static program analysis. In this work we focus on the fundamental problem of static control-flow analysis. Traditional analyses cannot be directly applied to Android because the applications are framework-based and Event-driven. We consider user-Event-driven components and the related sequences of callbacks from the Android framework to the application code, both for lifecycle callbacks and for Event Handler callbacks. We propose a program representation that captures such callback sequences. This representation is built using context-sensitive static analysis of callback methods. The analysis performs graph reachability by traversing context-compatible interprocedural control-flow paths and identifying statements that may trigger callbacks, as well as paths that avoid such statements. We also develop a client analysis that builds a static model of the application's GUI. Experimental evaluation shows that this context-sensitive approach leads to substantial precision improvements, while having practical cost.
Frank Tip - One of the best experts on this subject based on the ideXlab platform.
-
A Framework for Automated Testing of JavaScript Web Applications
2011Co-Authors: Shay Artzi, Frank Tip, Julian Dolby, Anders Moller, Simon Holm JensenAbstract:Current practice in testing JavaScript web applications requires manual construction of test cases, which is difficult and tedious. We present a framework for feedback-directed automated test generation for JavaScript in which execution is monitored to collect information that directs the test generator towards inputs that yield increased coverage. We implemented several instantiations of the framework, corresponding to variations on feedback-directed random testing, in a tool called Artemis. Experiments on a suite of JavaScript applications demonstrate that a simple instantiation of the framework that uses Event Handler registrations as feedback information produces surprisingly good coverage if enough tests are generated. By also using coverage information and read-write sets as feedback information, a slightly better level of coverage can be achieved, and sometimes with many fewer tests. The generated tests can be used for detecting HTML validity problems and other programming errors. Categories and Subject Descriptors D.2.5 [Software Engineering]: Testing and Debuggin
-
A framework for automated testing of javascript web applications
2011 33rd International Conference on Software Engineering (ICSE), 2011Co-Authors: Shay Artzi, Simon Holm Jensen, Julian Dolby, Anders Moller, Frank TipAbstract:Current practice in testing JavaScript web applications requires manual construction of test cases, which is difficult and tedious. We present a framework for feedback-directed automated test generation for JavaScript in which execution is monitored to collect information that directs the test generator towards inputs that yield increased coverage. We implemented several instantiations of the framework, corresponding to variations on feedback-directed random testing, in a tool called Artemis. Experiments on a suite of JavaScript applications demonstrate that a simple instantiation of the framework that uses Event Handler registrations as feedback information produces surprisingly good coverage if enough tests are generated. By also using coverage information and read-write sets as feedback information, a slightly better level of coverage can be achieved, and sometimes with many fewer tests. The generated tests can be used for detecting HTML validity problems and other programming errors.
Shay Artzi - One of the best experts on this subject based on the ideXlab platform.
-
A Framework for Automated Testing of JavaScript Web Applications
2011Co-Authors: Shay Artzi, Frank Tip, Julian Dolby, Anders Moller, Simon Holm JensenAbstract:Current practice in testing JavaScript web applications requires manual construction of test cases, which is difficult and tedious. We present a framework for feedback-directed automated test generation for JavaScript in which execution is monitored to collect information that directs the test generator towards inputs that yield increased coverage. We implemented several instantiations of the framework, corresponding to variations on feedback-directed random testing, in a tool called Artemis. Experiments on a suite of JavaScript applications demonstrate that a simple instantiation of the framework that uses Event Handler registrations as feedback information produces surprisingly good coverage if enough tests are generated. By also using coverage information and read-write sets as feedback information, a slightly better level of coverage can be achieved, and sometimes with many fewer tests. The generated tests can be used for detecting HTML validity problems and other programming errors. Categories and Subject Descriptors D.2.5 [Software Engineering]: Testing and Debuggin
-
A framework for automated testing of javascript web applications
2011 33rd International Conference on Software Engineering (ICSE), 2011Co-Authors: Shay Artzi, Simon Holm Jensen, Julian Dolby, Anders Moller, Frank TipAbstract:Current practice in testing JavaScript web applications requires manual construction of test cases, which is difficult and tedious. We present a framework for feedback-directed automated test generation for JavaScript in which execution is monitored to collect information that directs the test generator towards inputs that yield increased coverage. We implemented several instantiations of the framework, corresponding to variations on feedback-directed random testing, in a tool called Artemis. Experiments on a suite of JavaScript applications demonstrate that a simple instantiation of the framework that uses Event Handler registrations as feedback information produces surprisingly good coverage if enough tests are generated. By also using coverage information and read-write sets as feedback information, a slightly better level of coverage can be achieved, and sometimes with many fewer tests. The generated tests can be used for detecting HTML validity problems and other programming errors.
Shengqian Yang - One of the best experts on this subject based on the ideXlab platform.
-
Static controlflow analysis of user-driven callbacks
2016Co-Authors: Shengqian Yang, Yan Wang, Dacong Yan, Atanas RountevAbstract:Abstract—Android software presents many challenges for static program analysis. In this work we focus on the fundamental problem of static control-flow analysis. Traditional analyses cannot be directly applied to Android because the applications are framework-based and Event-driven. We consider user-Event-driven components and the related sequences of callbacks from the Android framework to the application code, both for lifecycle callbacks and for Event Handler callbacks. We propose a program representation that captures such callback sequences. This representation is built using context-sensitive static analysis of callback methods. The analysis per-forms graph reachability by traversing context-compatible in-terprocedural control-flow paths and identifying statements that may trigger callbacks, as well as paths that avoid such statements. We also develop a client analysis that builds a static model of the application’s GUI. Experimental evaluation shows that this context-sensitive approach leads to substantial precision improvements, while having practical cost. I
-
static control flow analysis of user driven callbacks in android applications
International Conference on Software Engineering, 2015Co-Authors: Shengqian Yang, Haowei Wu, Yan Wang, Atanas RountevAbstract:Android software presents many challenges for static program analysis. In this work we focus on the fundamental problem of static control-flow analysis. Traditional analyses cannot be directly applied to Android because the applications are framework-based and Event-driven. We consider user-Event-driven components and the related sequences of callbacks from the Android framework to the application code, both for lifecycle callbacks and for Event Handler callbacks. We propose a program representation that captures such callback sequences. This representation is built using context-sensitive static analysis of callback methods. The analysis performs graph reachability by traversing context-compatible interprocedural control-flow paths and identifying statements that may trigger callbacks, as well as paths that avoid such statements. We also develop a client analysis that builds a static model of the application's GUI. Experimental evaluation shows that this context-sensitive approach leads to substantial precision improvements, while having practical cost.
Francesco Quaglia - One of the best experts on this subject based on the ideXlab platform.
-
The ROme OpTimistic Simulator (ROOT-Sim)
2013Co-Authors: Alessandro Pellegrini, Roberto Vitali, Francesco QuagliaAbstract:The ROme OpTimistic Simulator is an x86 Open Source, parallel/distributed simulation platform developed using C/POSIX technology, which is based on a simulation kernel layer that ultimately relies on MPI for data exchange across different (distributed) kernel instances. The platform transparently supports all the mechanisms associated with parallelization (e.g., mapping of simulation objects on different kernel instances) and optimistic synchronization (e.g., state recoverability). The programming model supported by ROOT-Sim allows the simulation-model developer to use a simple application-callback function named ProcessEvent() as the Event Handler, whose parameters determine which simulation object is currently taking control for processing its next Event, and where the state of this object is located in memory. In ROOT-Sim, a simulation object is a data structure, whose state can be scattered on dynamically allocated memory chunks, hence the memory address passed to the callback locates a top level data structure implementing the object state-layout
-
Supports for transparent object-migration in PDES systems
'Springer Science and Business Media LLC', 2012Co-Authors: Sebastiano Peluso, Diego Didona, Francesco QuagliaAbstract:It is well known that Parallel Discrete Event Simulation systems may suffer, in terms of delivered performance, from imbalance of the computational load. In case of conservative synchronization we may experience CPU under-utilization and/or excessive communication overhead. On the other hand, for the optimistic paradigm we may even have rollback thrashing effects, with a consequent reduction of the percentage of productive (ie not rolled back) work carried out. This paper presents the design of a global memory management architecture supporting application-transparent migration of simulation objects whose state is scattered across dynamically allocated memory chunks. Our approach is based on a non-intrusive background protocol that provides each instance of the simulation kernel with information on the current mapping of the virtual address space of all the other instances. Dynamic memory requests by the application layer are then locally mapped onto virtual-address ranges that maximize the likelihood of being portable onto the address space of a remote kernel instance. In this way, independently of the load-balancing trigger (or policy), we maximize the likelihood that a desirable migration across a specific couple of kernels can actually take place due to compliance of the corresponding source/destination address spaces. We have integrated the global memory manager within the ROme OpTimistic Simulator (ROOT-Sim), namely a run-time environment based on the optimistic synchronization paradigm which automatically and transparently parallelizes the execution of Event-Handler-based simulation programs conforming to ANSI-C. Further, we provide a contribution in the direction of widening load-balancing schemes for optimistic simulation systems by defining migration triggers and selection policies for the objects to be migrated on the basis of memory usage patterns. An experimental assessment of the architecture and of memory-oriented load balancing is also provided. Journal of Simulation (2012) 6, 279-293. doi:10.1057/jos.2012.13; published online 20 July 201
-
Application Transparent Migration of Simulation Objects with Generic Memory Layout
2011 IEEE Workshop on Principles of Advanced and Distributed Simulation, 2011Co-Authors: Sebastiano Peluso, Diego Didona, Francesco QuagliaAbstract:This paper presents the design of a global memory management architecture supporting application transparent migration of simulation objects (or LPs) whose state is scattered across dynamically allocated memory chunks. Our approach is based on a non-intrusive background protocol that provides each instance of the simulation kernel with information on the current mapping of the virtual address space of all the other instances. Dynamic memory requests by the application layer are then locally mapped onto virtual-address ranges that maximize the likelihood of being portable onto the address space of a remote kernel instance. In this way, independently of the load-balancing trigger (or policy), we maximize the likelihood that a desirable migration across a specific couple of kernels can actually take place due to compliance of the corresponding source/destination address spaces. We have integrated the global memory manager within the ROme OpTimistic Simulator (ROOT-Sim), namely a run-time environment based on the optimistic synchronization paradigm which automatically and transparently parallelizes the execution of Event-Handler based simulation programs conforming to ANSI-C. Further, we provide a contribution in the direction of widening load balancing schemes for optimistic simulation systems by defining migration triggers and selection policies for the objects to be migrated on the basis of memory usage patterns. An experimental assessment of the architecture and of memory oriented load balancing is also provided.