Dataflow Tunneling: Mining Inter-request Data Dependencies for Request-based Applications
Request-based applications, e.g., most server-side applications, expose services to users in a request-based paradigm, in which requests are served by request-handler methods. An important task for request-based applications is inter-request analysis, which analyzes request-handler methods that are related by inter-request data dependencies together. However, in the request-based paradigm, data dependencies between related request-handler methods are implicitly established by the underlying frameworks that execute these methods. As a result, existing analysis tools are usually limited to the scope of each single method without the knowledge of dependencies between different methods.
In this paper, we design an approach called dataflow tunneling to capture inter-request data dependencies from concrete application executions and produce data-dependency specifications. Our approach answers two key questions: (1) what request-handler methods have data dependencies and (2) what these data dependencies are. Our evaluation using applications developed with two representative and popular frameworks shows that our approach is general and accurate. We also present a characteristic study and a use case of cache tuning based on the mined specifications. We envision that our approach can provide key information to enable future inter-request analysis techniques.
|Presentation (DataflowTunneling ICSE 2018.pptx)||9.93MiB|
Thu 31 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30
|Dataflow Tunneling: Mining Inter-request Data Dependencies for Request-based Applications|
Technical PapersPre-print File Attached
|Launch-Mode-Aware Context-Sensitive Activity Transition Analysis for Android Apps|
Yifei Zhang UNSW Sydney, Yulei Sui University of Technology Sydney, Australia, Jingling Xue UNSW SydneyDOI Pre-print File Attached
|UFO: Predictive Concurrency Use-After-Free Detection|
Jeff Huang Texas A&M UniversityPre-print
|Collective Program Analysis|
|Q&A in groups|