Conference publications

  • [VLDB 2022] Blueprint: a constraint-solving approach for document extraction
    Andrey Mishchenko; Dominique Danco; Abhilash Jindal; Adrian Blue;
    See more Reviewer summary: The work studies the problem of extracting fields/entities (such as name, gender, date of birth, etc.) from documents that follow similar templates. Based on their prior experience writing procedural document extraction programs in an industrial setting, the authors explain the drawbacks of using procedural languages for document extraction and present the declarative Blueprint language for template-based document extraction. Blueprint allows the specification of extraction programs through constraints that describe the relationship between entities to be extracted and/or auxiliary information (such as labels that appear in front of such entities). To further simplify the process of writing Blueprint programs, the work presents Studio; a combination of a program inference algorithm and a no-code UI. Given labeled data, Studio synthesizes a Blueprint program and presents the resulting constraints to the user for further editing as needed. Limited experiments on extracting information from passports show that Blueprint and Studio have comparable accuracy to LayoutLM (a deep learning approach for document extraction), but require much lower resources (in terms of run-time and memory usage). Moreover, the paper includes a detailed error analysis of both approaches, explaining their respective failure modes, as well as qualitative feedback received from users of the system (which has been made publicly available).
    Encouraging reviewer comment: I found the combination of declarative language for document extraction, program inference to bootstrap program generation, and UI to help users debug and correct the inferred program very interesting. Combined with the detailed error analysis of the proposed approach and LayoutLM it has the potential to lead to many interesting discussions during the conference on rule-based vs deep learning approaches, their respective benefits in industrial settings, and their potential linking points.

  • [MobiCom 2021] Experience: Developing a Usable Battery Drain Testing and Diagnostic Tool for the Mobile Industry
    Best Community Paper Award
    Abhilash Jindal; Y Charlie Hu;
    See more Reviewer summary: This paper considers the design of a usable battery drain testing and diagnosis tool for mobile devices. In particular, it describes experience turning an academic prototype tool (BDPROTO) into a industry grade tool (BDTOOL), elaborating on the requirements from industry and how they influenced the revamp/redesign of the tool. Further, it shows effectiveness of the tool in terms of accuracy and repeatability through results benchmarked against ground truth. It also shows how the tool has helped identify battery drain related bugs or issues with two popular apps (Netflix and CNN). The paper wraps up with reflections on things to keep in mind when taking academic research prototypes towards industrial adoption.
    Encouraging reviewer comment: This submission is quite convincing in its description of the BDTool, its applications and use cases. It is well written, and contains observations likely to be of value to part of the community interested in energy-related mobile issues. Description of the requirements are well organized, and aligned with solutions that were eventually incorporated within the tool. The case studies referring to Netflix was especially of interest. I expect some of the issues raised, and have yet to be completely addressed would be motivational to the research/academic audience.

  • [OSDI 2018] Differential energy profiling: energy optimization via diffing similar apps
    Abhilash Jindal; Y Charlie Hu;
    See more Reviewer summary: The paper presents a new type of energy profiler for Android apps, which is based on two innovations: 1) a new technique for identifying meaningful 'tasks' from call graphs, using a special type of subgraph that is called an 'Eflask', and 2) a way to correlate tasks from different apps that implement similar functionality, so as to identify tasks that are implemented efficiently in one app but inefficiently in another. The profiler has been applied to popular Android apps from eight categories, and has found several significant energy bugs.
    Encouraging reviewer comment: Overall, this looks like a quality paper. Saving energy on mobile devices is an important problem, and DiffProf seems to be doing a nice job. But what I particularly liked was the idea of identifying comparable tasks in related apps and using pairs of tasks to look for unusually inefficient implementations. I personally found it surprising that this could be done at all, and was impressed to see it done on a large number of popular Android apps, with very good results. I also found it interesting that these apps have such big differences in how they implement these tasks (ranging from nicely efficient to horribly inefficient), and that these differences could not only be found but distilled into specific advice fairly easily.

  • [ATC 2016] Unsafe time handling in smartphones
    Abhilash Jindal; Y Charlie Hu; Samuel Midkiff; Prahlad Joshi;
    See more Reviewer summary: Smartphones frequently suspend all activity to conserve energy after short periods of user inactivity. Sleep induced time bugs (SITBs) are bugs that occur due to suspension happening within a sequence of time-related operation, such as measuring the duration of an operation (take time, do op, take time, subtract the two). SITBs are defined to be bugs that result in incorrect software behavior (as opposed to previously characterized time-related bugs that preserved correctness but resulted in energy being wasted). The authors investigate all time-related functions invoked in Android's kernel, framework, and a few hundreds of apps. They characterize to their usage pattern (there are four types: callbacks, setting, arithmetic, and logging). The implement the KLOCK tool for detecting SITBs and uncover a few dozens of bugs, confirming some of them with the community.
    Encouraging reviewer comment: The class of bugs (Sleep Induced Time Bugs) is interesting as these bugs occur rarely and hence are difficult to detect by dynamic approaches. Their analysis is simple (data flow analysis) and reasonably effective: some timing bugs in the Linux kernel have been discovered and been patched by them (

  • [MobiCom 2015] Smartphone background activities in the wild: Origin, energy drain, and optimization
    Xiaomeng Chen; Abhilash Jindal; Ning Ding; Yu Charlie Hu; Maruti Gupta; Rath Vannithamby;

  • [SIGMETRICS 2015] Smartphone energy drain in the wild: Analysis and implications
    Xiaomeng Chen; Ning Ding; Abhilash Jindal; Y Charlie Hu; Maruti Gupta; Rath Vannithamby;

  • [WWW 2015] Energy and performance of smartphone radio bundling in outdoor environments
    Ana Nika; Yibo Zhu; Ning Ding; Abhilash Jindal; Y Charlie Hu; Xia Zhou; Ben Y Zhao; Haitao Zheng;

  • [Eurosys 2013] Hypnos: understanding and treating sleep conflicts in smartphones
    Abhilash Jindal; Abhinav Pathak; Y Charlie Hu; Samuel Midkiff;

  • [MobiSys 2012] What is keeping my phone awake?: characterizing and detecting no-sleep energy bugs in smartphone apps
    Abhinav Pathak; Abhilash Jindal; Y Charlie Hu; Samuel P Midkiff;

  • [SEMMCO 2011] Cricket team selection using evolutionary multi-objective optimization
    Faez Ahmed; Abhilash Jindal; Kalyanmoy Deb;

Journal publications

Workshop/Poster publications


Invited articles