Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Anthony Canino

dblp:78/10810 · DBLP profile ↗
← Back
7ranked-venue papers
2as first author
2since 2021 · last 2022
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 2 first-author · 1 since 2021Security and privacy · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Energy-efficient computing · 62% Parallel and multicore computing · 27% Performance modeling and evaluation · 7%
Software engineering, system software, and programming languages
3 papers
Runtime systems and virtual machines · 58% Programming languages and type systems · 32% Operating systems · 10%

Topics — the 11 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Energy-efficient computing › energy accounting
per-application energy accounting
1.022022
Eflect: Porting Energy-Aware Applications to Shared Environments · ICSE 2022
Calm energy accounting for multithreaded Java applications · ESEC/SIGSOFT FSE 2020
Energy-efficient computing
energy-aware software
0.612022
Eflect: Porting Energy-Aware Applications to Shared Environments · ICSE 2022
Energy-efficient computing › energy measurement
energy profiling
0.612022
Eflect: Porting Energy-Aware Applications to Shared Environments · ICSE 2022
Energy-efficient computing
energy accounting
0.412020
Calm energy accounting for multithreaded Java applications · ESEC/SIGSOFT FSE 2020
Performance modeling and evaluation
bottleneck analysis
0.312017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017
Parallel and multicore computing › parallel programming models › task parallelism
fork-join parallelism
0.312017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017
Parallel and multicore computing
parallel programming models
0.312017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017
Parallel and multicore computing
parallel programming runtimes
0.312017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017
Parallel and multicore computing › task scheduling › dynamic scheduling
work-stealing scheduler
0.312017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017
Runtime systems and virtual machines
garbage collection
0.112017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017
Operating systems › resource management
memory management
0.112017
Understanding and overcoming parallelism bottlenecks in ForkJoin applications · ASE 2017

Methods — techniques the papers use, named apart from their topics

patch contribution · 0.6mixed static and dynamic typechecking · 0.6field study · 0.6energy-adaptive approximation · 0.6application-level energy accounting · 0.6
YearPublicationVenuePosition
2022 PacJam: Securing Dependencies Continuously via Package-Oriented Debloating
abstract
Real-world software is usually built on top of other software provided as packages that are managed by package managers. Package managers facilitate code reusability and programmer productivity but incur significant software bloat by installing excessive dependent packages. This dependency hell increases potential security issues and hampers rapid response to newly discovered vulnerabilities. We propose a package-oriented debloating framework, PacJam, for adaptive and security-aware management of an application's dependent packages. PacJam improves upon existing debloating techniques by providing a configurable fallback mechanism via post-deployment policies. It also elides the need to completely specify the application's usage scenarios and does not require runtime support. Moreover, PacJam enables to rapidly mitigate newly discovered vulnerabilities with minimal impact on the application's functionality. We evaluate PacJam on 10 popular and diverse Linux applications comprising 575K-39M SLOC each. Compared to a state-of-the-art approach, piecewise debloating, PacJam debloats 66% of the packages per application on average, reducing the attack surface by removing 46% of CVEs and 69% (versus 66%) of gadgets, with significantly less runtime overhead and without the need to install a custom loader.
Pardis Pashakhanloo, Aravind Machiry, Hyonyoung Choi, Anthony Canino, Kihong Heo, Insup Lee 0001, Mayur Naik
AsiaCCS4
2022 Eflect: Porting Energy-Aware Applications to Shared Environments
abstract
Developing energy-aware applications is a well known approach to software-based energy optimization. This promising approach is however faced with a significant hurdle when deployed to the environments shared among multiple applications, where the energy consumption effected by one application may erroneously be observed by another application. We introduce Eflect, a novel software framework for disentangling the energy consumption of co-running applications. Our key idea, called energy virtualization, enables each energy-aware application to be only aware of the energy consumption effected by its execution. Eflect is unique in its lightweight design: it is a purely application-level solution that requires no modification to the underlying hardware or system software. Experiments show Eflect incurs low overhead with high precision. Furthermore, it can seamlessly port existing application-level energy frameworks --- one for energy-adaptive approximation and the other for energy profiling --- to shared environments while retaining their intended effectiveness.
Timur Babakol, Anthony Canino, Yu David Liu
ICSE2
2020 Calm energy accounting for multithreaded Java applications
abstract
Energy accounting is a fundamental problem in energy management, defined as attributing global energy consumption to individual components of interest. In this paper, we take on this problem at the application level, where the components for accounting are application logical units, such as methods, classes, and packages. Given a Java application, our novel runtime system Chappie produces an energy footprint, i.e., the relative energy consumption of all programming abstraction units within the application.
Timur Babakol, Anthony Canino, Khaled Mahmoud, Rachit Saxena, Yu David Liu
ESEC/SIGSOFT FSE2
2018 Stochastic energy optimization for mobile GPS applications
abstract
Mobile applications regularly interact with their noisy and ever-changing physical environment. The fundamentally uncertain nature of such interactions leads to significant challenges in energy optimization, a crucial goal of software engineering on mobile devices. This paper presents Aeneas, a novel energy optimization framework for Android in the presence of uncertainty. Aeneas provides a minimalistic programming model where acceptable program behavioral settings are abstracted as knobs and application-specific optimization goals — such as meeting an energy budget — are crystallized as rewards, both of which are directly programmable. At its heart, Aeneas is endowed with a stochastic optimizer to adaptively and intelligently select the reward-optimal knob setting through a form of reinforcement learning. We evaluate Aeneas on mobile GPS applications built over Google LocationService API. Through an in-field case study that covers approximately 6500 miles and 150 hours of driving as well as 20 hours of biking and hiking, we find that Aeneas can effectively and resiliently meet programmer-specified energy budgets in uncertain physical environments where individual GPS readings undergo significant fluctuation. Compared with non-stochastic approaches such as profile-guided optimization, Aeneas produces significantly more stable results across runs.
Anthony Canino, Yu David Liu, Hidehiko Masuhara
ESEC/SIGSOFT FSE1
2017 Understanding and overcoming parallelism bottlenecks in ForkJoin applications
abstract
ForkJoin framework is a widely used parallel programming framework upon which both core concurrency libraries and real-world applications are built. Beneath its simple and user-friendly APIs, ForkJoin is a sophisticated managed parallel runtime unfamiliar to many application programmers: the framework core is a work-stealing scheduler, handles fine-grained tasks, and sustains the pressure from automatic memory management. ForkJoin poses a unique gap in the compute stack between high-level software engineering and low-level system optimization. Understanding and bridging this gap is crucial for the future of parallelism support in JVM-supported applications. This paper describes a comprehensive study on parallelism bottlenecks in ForkJoin applications, with a unique focus on how they interact with underlying system-level features, such as work stealing and memory management. We identify 6 bottlenecks, and found that refactoring them can significantly improve performance and energy efficiency. Our field study includes an in-depth analysis of Akka — a real-world actor framework — and 30 additional open-source ForkJoin projects. We sent our patches to the developers of 15 projects, and 7 out of the 9 projects that replied to our patches have accepted them.
Gustavo Pinto 0001, Anthony Canino, Fernando Castor Filho, Guoqing Harry Xu, Yu David Liu
ASE2
2017 Proactive and adaptive energy-aware programming with mixed typechecking
abstract
Application-level energy management is an important dimension of energy optimization. In this paper, we introduce ENT, a novel programming language for enabling *proactive* and *adaptive* mode-based energy management at the application level. The proactive design allows programmers to apply their application knowledge to energy management, by characterizing the energy behavior of different program fragments with modes. The adaptive design allows such characterization to be delayed until run time, useful for capturing dynamic program behavior dependent on program states, configuration settings, external battery levels, or CPU temperatures. The key insight is both proactiveness and adaptiveness can be unified under a type system combined with static typing and dynamic typing. ENT has been implemented as an extension to Java, and successfully ported to three energy-conscious platforms: an Intel-based laptop, a Raspberry Pi, and an Android phone. Evaluation shows ENT improves the programmability, debuggability, and energy efficiency of battery-aware and temperature-aware programs.
Anthony Canino, Yu David Liu
PLDI1
2011 Converting a High Performance Application to an Elastic Cloud Application
abstract
Over the past decade, high performance applications have embraced parallel programming and computing models. While parallel computing offers advantages such as good utilization of dedicated hardware resources, it also has several drawbacks such as poor fault-tolerance, scalability, and ability to harness available resources during run-time. The advent of cloud computing presents a viable and promising alternative to parallel computing because of its advantages in offering a distributed computing model. In this work, we establish directives that serve as guidelines for the design and implementation or identification of a suitable cloud computing framework to build or convert a high performance application to run in the cloud. We show that following these directives leads to an elastic implementation that has better scalability, run-time resource adaptability, fault tolerance, and portability across cloud computing platforms, while requiring minimal effort and intervention from the user. We illustrate this by converting an MPI implementation of replica exchange, a parallel tempering molecular dynamics application, to an elastic cloud application using the Work Queue framework that adheres to these directive. We observe better scalability and resource adaptability of this elastic application on multiple platforms, including a homogeneous cluster environment (SGE) and heterogeneous cloud computing environments such as Microsoft Azure and Amazon EC2.
Dinesh Rajan, Anthony Canino, Jesús A. Izaguirre, Douglas Thain
CloudCom2