Hank Liao

40 papers A 9B 1C 5Misc 8Journal 15Unranked 1
YearRankTypeTitle / Venue / Authors
2024 Misc conf
ICASSP
Oscar Chang, Hank Liao, Dmitriy Serdyuk, Ankit Shahy, Olivier Siohan
2024 A conf
INTERSPEECH
Quan Wang, Yiling Huang, Guanlong Zhao, Evan Clark, Wei Xia, Hank Liao
2024 J jnl
CoRR
Quan Wang, Yiling Huang, Guanlong Zhao, Evan Clark, Wei Xia, Hank Liao
2024 A conf
INTERSPEECH
Yiling Huang, Weiran Wang, Guanlong Zhao, Hank Liao, Wei Xia, Quan Wang
2024 Misc conf
ICASSP
Guanlong Zhao, Yongqiang Wang, Jason Pelecanos, Yu Zhang, Hank Liao, Yiling Huang, Han Lu, Quan Wang
2023 J jnl
CoRR
Oscar Chang, Hank Liao, Dmitriy Serdyuk, Ankit Parag Shah, Olivier Siohan
2023 J jnl
CoRR
Oscar Chang, Otavio Braga, Hank Liao, Dmitriy Serdyuk, Olivier Siohan
2023 J jnl
CoRR
Yiling Huang, Weiran Wang, Guanlong Zhao, Hank Liao, Wei Xia, Quan Wang
2023 J jnl
CoRR
Guanlong Zhao, Yongqiang Wang, Jason Pelecanos, Yu Zhang, Hank Liao, Yiling Huang, Han Lu, Quan Wang
2022 J jnl
CoRR
Otavio Braga, Takaki Makino, Olivier Siohan, Hank Liao
2022 J jnl
Trans. Mach. Learn. Res.
Oscar Chang, Otavio Braga, Hank Liao, Dmitriy Serdyuk, Olivier Siohan
2020 Misc conf
ICASSP
Otavio Braga, Takaki Makino, Olivier Siohan, Hank Liao
2019 C conf
ASRU
Chung-Cheng Chiu, Anjuli Kannan, Rohit Prabhavalkar, Zhifeng Chen, Tara N. Sainath, Yonghui Wu, Wei Han, Yu Zhang, Ruoming Pang, Sergey Kishchenko, Patrick Nguyen, Arun Narayanan, Hank Liao, Shuyuan Zhang
2019 J jnl
CoRR
Chung-Cheng Chiu, Wei Han, Yu Zhang, Ruoming Pang, Sergey Kishchenko, Patrick Nguyen, Arun Narayanan, Hank Liao, Shuyuan Zhang, Anjuli Kannan, Rohit Prabhavalkar, Zhifeng Chen, Tara N. Sainath, Yonghui Wu
2019 J jnl
CoRR
Ke Hu, Hasim Sak, Hank Liao
2019 A conf
INTERSPEECH
Brendan Shillingford, Yannis M. Assael, Matthew W. Hoffman, Thomas Paine, Cían Hughes, Utsav Prabhu, Hank Liao, Hasim Sak, Kanishka Rao, Lorrayne Bennett, Marie Mulville, Misha Denil, Ben Coppin, Ben Laurie, Andrew W. Senior, Nando de Freitas
2019 J jnl
CoRR
Antonios Anastasopoulos, Shankar Kumar, Hank Liao
2019 C conf
ASRU
Takaki Makino, Hank Liao, Yannis M. Assael, Brendan Shillingford, Basilio Garcia, Otavio Braga, Olivier Siohan
2019 J jnl
CoRR
Takaki Makino, Hank Liao, Yannis M. Assael, Brendan Shillingford, Basilio Garcia, Otavio Braga, Olivier Siohan
2018 J jnl
CoRR
Brendan Shillingford, Yannis M. Assael, Matthew W. Hoffman, Thomas Paine, Cían Hughes, Utsav Prabhu, Hank Liao, Hasim Sak, Kanishka Rao, Lorrayne Bennett, Marie Mulville, Ben Coppin, Ben Laurie, Andrew W. Senior, Nando de Freitas
2018 Misc conf
ICASSP
Kazuki Irie, Shankar Kumar, Michael Nirschl, Hank Liao
2017 J jnl
CoRR
Shankar Kumar, Michael Nirschl, Daniel N. Holtmann-Rice, Hank Liao, Ananda Theertha Suresh, Felix X. Yu
2017 C conf
ASRU
Shankar Kumar, Michael Nirschl, Daniel Niels Holtmann-Rice, Hank Liao, Ananda Theertha Suresh, Felix X. Yu
2017 A conf
INTERSPEECH
Hagen Soltau, Hank Liao, Hasim Sak
2017 C conf
ASRU
Hagen Soltau, Hank Liao, Hasim Sak
2016 A conf
INTERSPEECH
Vitaly Kuznetsov, Hank Liao, Mehryar Mohri, Michael Riley, Brian Roark
2016 J jnl
CoRR
Hagen Soltau, Hank Liao, Hasim Sak
2015 Misc conf
ICASSP
Yanbo Xu, Olivier Siohan, David Simcha, Sanjiv Kumar, Hank Liao
2015 A conf
INTERSPEECH
Hank Liao, Golan Pundak, Olivier Siohan, Melissa K. Carroll, Noah Coccaro, Qi-Ming Jiang, Tara N. Sainath, Andrew W. Senior, Françoise Beaufays, Michiel Bacchiani
2014 Misc conf
ICASSP
Andrew W. Senior, Georg Heigold, Michiel Bacchiani, Hank Liao
2013 C conf
ASRU
Hank Liao, Erik McDermott, Andrew W. Senior
2013 Misc conf
ICASSP
Hank Liao
2012 B conf
ICMI
Khe Chai Sim, Shengdong Zhao, Kai Yu, Hank Liao
2012 ch.
Techniques for Noise Robustness in Automatic Speech Recognition
Hank Liao
2010 A conf
INTERSPEECH
Hank Liao, Christopher Alberti, Michiel Bacchiani, Olivier Siohan
2009 Misc conf
ICASSP
Christopher Alberti, Michiel Bacchiani, Ari Bezman, Ciprian Chelba, Anastassia Drofa, Hank Liao, Pedro J. Moreno, Ted Power, Arnaud Sahuguet, Maria Shugrina, Olivier Siohan
2008 J jnl
Speech Commun.
Hank Liao, Mark J. F. Gales
2007 conf
ICASSP (4)
Hank Liao, Mark J. F. Gales
2006 A conf
INTERSPEECH
Hank Liao, Mark J. F. Gales
2005 A conf
INTERSPEECH
Hank Liao, Mark J. F. Gales
redb/extractors/decompiler/apk/library_filter.py
← Index redb/extractors/decompiler/apk/library_filter.py python
"""Package-based library filtering for APK DEX code analysis.

Determines whether a method belongs to a known library/framework package
and should be filtered out of content tables. This is the Android equivalent
of is_lib_or_thunk() in the Binary Ninja pipeline.
"""

import os
from typing import Dict, List


DEFAULT_LIBRARY_PREFIXES = [
    "android.",
    "androidx.",
    "com.google.android.",
    "com.google.firebase.",
    "com.google.gson.",
    "com.google.protobuf.",
    "kotlin.",
    "kotlinx.",
    "org.apache.",
    "com.squareup.",
    "io.reactivex.",
    "org.reactivestreams.",
    "com.facebook.",
    "com.crashlytics.",
    "io.fabric.",
    "org.junit.",
    "org.mockito.",
]


class LibraryFilter:
    """Filters library/framework classes from APK analysis."""

    def __init__(self, prefixes: List[str] = None):
        env_prefixes = os.getenv("APK_LIBRARY_PREFIXES")
        if env_prefixes:
            self._prefixes = [p.strip() for p in env_prefixes.split(",") if p.strip()]
        elif prefixes is not None:
            self._prefixes = prefixes
        else:
            self._prefixes = DEFAULT_LIBRARY_PREFIXES

        # Convert Dalvik-style prefixes to both formats for matching
        self._dot_prefixes = tuple(self._prefixes)

        self._stats = {"library": 0, "user": 0}

    def is_library(self, class_name: str) -> bool:
        """Check if a class belongs to a known library/framework package.

        Accepts both Java dot notation (com.example.Foo) and Dalvik
        descriptor notation (Lcom/example/Foo;).
        """
        # Normalize Dalvik descriptor to dot notation
        normalized = self._normalize_class_name(class_name)

        is_lib = normalized.startswith(self._dot_prefixes)
        if is_lib:
            self._stats["library"] += 1
        else:
            self._stats["user"] += 1
        return is_lib

    def get_filter_stats(self) -> Dict[str, int]:
        """Return counts of filtered vs. retained classes."""
        return dict(self._stats)

    @staticmethod
    def _normalize_class_name(class_name: str) -> str:
        """Convert Dalvik descriptor to dot notation.

        Lcom/example/Foo; -> com.example.Foo
        com.example.Foo -> com.example.Foo
        """
        if class_name.startswith("L") and class_name.endswith(";"):
            return class_name[1:-1].replace("/", ".")
        return class_name.replace("/", ".")