Vijay Srinivasan

92 papers A* 4A 3B 3Misc 4Journal 55Unranked 23
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Haoyan Yang, Ting Hua, Shangqian Gao, Binfeng Xu, Zheng Tang, Jie Xu, Hongxia Jin, Vijay Srinivasan
2025 J jnl
CoRR
Durga Prasad Maram, Kalpa Gunaratna, Vijay Srinivasan, Haris Jeelani, Srinivas Chappidi
2025 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Kexin Yin, Qunfen Qi, Edward P. Morse, Vijay Srinivasan
2024 conf
CICC
Siddharth Saxena, Sudhir S. Kudva, Vijay Srinivasan, Miguel Rodriguez, Walter Li, Shalimar Rasheed, Gaurav Ajwani, Tezaswi Raja, Santosh A, C. Thomas Gray
2024 A* conf
ICLR
Lichang Chen, Shiyang Li, Jun Yan, Hai Wang, Kalpa Gunaratna, Vikas Yadav, Zheng Tang, Vijay Srinivasan, Tianyi Zhou, Heng Huang, Hongxia Jin
2024 conf
NAACL-HLT
Jun Yan, Vikas Yadav, Shiyang Li, Lichang Chen, Zheng Tang, Hai Wang, Vijay Srinivasan, Xiang Ren, Hongxia Jin
2024 J jnl
CoRR
Vikas Yadav, Hyuk Joon Kwon, Vijay Srinivasan, Hongxia Jin
2024 conf
LREC/COLING
Vikas Yadav, Hyuk Joon Kwon, Vijay Srinivasan, Hongxia Jin
2024 conf
NAACL-HLT (Findings)
Shiyang Li, Jun Yan, Hai Wang, Zheng Tang, Xiang Ren, Vijay Srinivasan, Hongxia Jin
2024 A* conf
SIGIR
Vikas Yadav, Zheng Tang, Vijay Srinivasan
2024 J jnl
CoRR
Vikas Yadav, Zheng Tang, Vijay Srinivasan
2023 J jnl
CoRR
Lichang Chen, Shiyang Li, Jun Yan, Hai Wang, Kalpa Gunaratna, Vikas Yadav, Zheng Tang, Vijay Srinivasan, Tianyi Zhou, Heng Huang, Hongxia Jin
2023 A conf
CIKM
Kalpa Gunaratna, Vijay Srinivasan, Hongxia Jin
2023 J jnl
CoRR
Kalpa Gunaratna, Vijay Srinivasan, Hongxia Jin
2023 conf
ICPHM
Yamini Devidas Kotriwar, Obaid Elshafiey, Lei Peng, Zi Li, Vijay Srinivasan, Eric Davis, Yiming Deng
2023 J jnl
CoRR
Shiyang Li, Jun Yan, Hai Wang, Zheng Tang, Xiang Ren, Vijay Srinivasan, Hongxia Jin
2023 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Vijay Srinivasan
2023 conf
APMS (2)
Milos Drobnjakovic, Guodong Shao, Ana Nikolov, Boonserm Kulvatunyou, Simon P. Frechette, Vijay Srinivasan
2023 J jnl
CoRR
Jun Yan, Vikas Yadav, Shiyang Li, Lichang Chen, Zheng Tang, Hai Wang, Vijay Srinivasan, Xiang Ren, Hongxia Jin
2022 conf
NAACL-HLT
Yu Wang, Vijay Srinivasan, Hongxia Jin
2022 conf
ICKG
Yu Wang, Vijay Srinivasan, Hongxia Jin
2022 conf
ICKG
Yu Wang, Vijay Srinivasan, Hongxia Jin
2022 conf
EMNLP (Findings)
Kalpa Gunaratna, Vijay Srinivasan, Akhila Yerukola, Hongxia Jin
2022 J jnl
CoRR
Kalpa Gunaratna, Vijay Srinivasan, Akhila Yerukola, Hongxia Jin
2022 A* conf
AAAI
Manas Gaur, Kalpa Gunaratna, Vijay Srinivasan, Hongxia Jin
2022 J jnl
J. Comput. Inf. Sci. Eng.
Vishnu Kumar, Vijay Srinivasan, Soundar R. T. Kumara
2021 J jnl
CoRR
Manas Gaur, Kalpa Gunaratna, Vijay Srinivasan, Hongxia Jin
2021 J jnl
IEEE Trans Autom. Sci. Eng.
Sheng Lin-Gibson, Vijay Srinivasan
2021 A conf
CIKM
Kalpa Gunaratna, Vijay Srinivasan, Sandeep Nama, Hongxia Jin
2021 J jnl
CoRR
Kalpa Gunaratna, Vijay Srinivasan, Sandeep Nama, Hongxia Jin
2019 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Vijay Srinivasan
2019 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Vijay Srinivasan
2018 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Vijay Srinivasan
2018 J jnl
Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.
Vijay Srinivasan, Christian Koehler, Hongxia Jin
2017 conf
PerCom Workshops
Mohammad-Mahdi Moazzami, Jasvinder Singh, Vijay Srinivasan, Guoliang Xing
2017 J jnl
IEEE Trans Autom. Sci. Eng.
K. C. Morris, Craig Schlenoff, Vijay Srinivasan
2016 J jnl
J. Comput. Inf. Sci. Eng.
Boonserm (Serm) Kulvatunyou, Nenad Ivezic, Vijay Srinivasan
2016 J jnl
IEEE J. Solid State Circuits
Georgios K. Konstadinidis, Hongping Penny Li, Francis Schumacher, Venkatram Krishnaswamy, Hoyeol Cho, Sudesna Dash, Robert P. Masleid, Chaoyang Zheng, Yuanjung David Lin, Paul Loewenstein, Heechoul Park, Vijay Srinivasan, Dawei Huang, Changku Hwang, Wenjay Hsu, Curtis McAllister, Jeffrey Brooks, Ha Pham, Sebastian Turullols, Yifan Yanggong, Robert T. Golla, Alan P. Smith, Ali Vahidsafa
2016 J jnl
Comput. Aided Des.
William C. Regli, Jarek Rossignac, Vadim Shapiro, Vijay Srinivasan
2016 conf
PerCom Workshops
Alex Mariakakis, Vijay Srinivasan, Kiran Rachuri, Abhishek Mukherji
2015 conf
ISSCC
Penny Li, Jinuk Luke Shin, Georgios K. Konstadinidis, Francis Schumacher, Venkatram Krishnaswamy, Hoyeol Cho, Sudesna Dash, Robert P. Masleid, Chaoyang Zheng, Yuanjung David Lin, Paul Loewenstein, Heechoul Park, Vijay Srinivasan, Dawei Huang, Changku Hwang, Wenjay Hsu, Curtis McAllister
2015 J jnl
J. Comput. Inf. Sci. Eng.
Allison Barnard Feeney, Simon P. Frechette, Vijay Srinivasan
2015 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Vijay Srinivasan
2015 J jnl
J. Comput. Inf. Sci. Eng.
Yanlong Cao, Vijay Srinivasan
2014 J jnl
Int. J. Artif. Intell. Tools
Vijay Srinivasan
2014 conf
UbiComp Adjunct
Abhishek Mukherji, Vijay Srinivasan, Evan Welbourne
2014 B conf
MASS
Chenren Xu, Vijay Srinivasan, Jun Yang, Yoshiya Hirase, Emmanuel Munguia Tapia, Yanyong Zhang
2014 J jnl
Comput. Aided Des.
Christoph M. Hoffmann, Vadim Shapiro, Vijay Srinivasan
2014 Misc conf
UbiComp
Vijay Srinivasan, Saeed Moghaddam, Abhishek Mukherji, Kiran K. Rachuri, Chenren Xu, Emmanuel Munguia Tapia
2014 J jnl
Comput. Aided Des.
Vadim Shapiro, Vijay Srinivasan
2013 conf
IPSN
Vijay Srinivasan, John A. Stankovic, Kamin Whitehouse
2013 J jnl
Comput. Aided Des.
Keith A. Hunten, Allison Barnard Feeney, Vijay Srinivasan
2013 J jnl
J. Comput. Inf. Sci. Eng.
Craig Shakarji, Vijay Srinivasan
2012 J jnl
J. Comput. Inf. Sci. Eng.
Vijay Srinivasan, Craig Shakarji, Edward P. Morse
2011 J jnl
Comput. Aided Des.
Vijay Srinivasan
2011 Misc conf
SenSys
Timothy W. Hnat, Vijay Srinivasan, Jiakang Lu, Tamim I. Sookoor, Raymond Dawson, John A. Stankovic, Kamin Whitehouse
2011 conf
BuildSys@SenSys
Vijay Srinivasan, John A. Stankovic, Kamin Whitehouse
2010 Misc conf
SenSys
Jiakang Lu, Tamim I. Sookoor, Vijay Srinivasan, Ge Gao, Brian Holben, John A. Stankovic, Eric Field, Kamin Whitehouse
2010 conf
Pervasive
Vijay Srinivasan, John A. Stankovic, Kamin Whitehouse
2009 conf
CASE
Vijay Srinivasan
2008 J jnl
SIGBED Rev.
Vijay Srinivasan, John A. Stankovic, Kamin Whitehouse
2008 J jnl
J. Comput. Inf. Sci. Eng.
Vijay Srinivasan, Lutz Lämmer, Steven Vettermann
2008 Misc conf
UbiComp
Vijay Srinivasan, John A. Stankovic, Kamin Whitehouse
2008 J jnl
Comput. Aided Des.
Vijay Srinivasan
2007 J jnl
IEEE Des. Test Comput.
Richard B. Fair, Andrey Khlystov, Tina D. Tailor, Vladislav Ivanov, Randall D. Evans, Vijay Srinivasan, Vamsee K. Pamula, Michael G. Pollack, Peter B. Griffin, Jack Zhou
2007 J jnl
J. Comput. Inf. Sci. Eng.
Vijay Srinivasan
2006 J jnl
IEEE Trans. Ind. Electron.
Ashish R. Bendre, Giri Venkataramanan, Don Rosene, Vijay Srinivasan
2006 conf
EMBC
Min-Chi Hsiao, Chiu-Hsien Chan, Vijay Srinivasan, Ashish Ahuja, Gopal Erinjippurath, Theodoros P. Zanos, Ghassan I. Gholmieh, Dong Song, Jack Wills, Jeff LaCoss, Spiros H. Courellis, Armand R. Tanguay, John J. Granacki, Vasilis Z. Marmarelis, Theodore W. Berger
2005 J jnl
Int. J. Comput. Appl. Technol.
Michael J. Pratt, Vijay Srinivasan
2004 J jnl
J. Comput. Inf. Sci. Eng.
Russell S. Peak, Joshua Lubell, Vijay Srinivasan, Stephen C. Waterbury
2003 conf
Geometric and Algorithmic Aspects of Computer-Aided Design and Manufacturing
Vijay Srinivasan
2002 A conf
SC
Narasimha R. Adiga, George Almási, George S. Almási, Yariv Aridor, Rajkishore Barik, Daniel K. Beece, Ralph Bellofatto, Gyan Bhanot, Randy Bickford, Matthias A. Blumrich, Arthur A. Bright, José R. Brunheroto, Calin Cascaval, José G. Castaños, Waiman Chan, Luis Ceze, Paul Coteus, Siddhartha Chatterjee, Dong Chen, George L.-T. Chiu, Thomas M. Cipolla, Paul Crumley, K. M. Desai, Alina Deutsch, Tamar Domany, Marc Boris Dombrowa, Wilm E. Donath, Maria Eleftheriou, C. Christopher Erway, J. Esch, Blake G. Fitch, Joseph Gagliano, Alan Gara, Rahul Garg, Robert S. Germain, Mark Giampapa, Balaji Gopalsamy, John A. Gunnels, Manish Gupta, Fred G. Gustavson, Shawn Hall, Ruud A. Haring, David F. Heidel, Philip Heidelberger, Lorraine Herger, Dirk Hoenicke, R. D. Jackson, T. Jamal-Eddine, Gerard V. Kopcsay, Elie Krevat, Manish P. Kurhekar, Alphonso P. Lanzetta, Derek Lieber, L. K. Liu, M. Lu, Mark P. Mendell, A. Misra, Yosef Moatti, Lawrence S. Mok, José E. Moreira, Ben J. Nathanson, Matthew Newton, Martin Ohmacht, Adam J. Oliner, Vinayaka Pandit, R. B. Pudota, Rick A. Rand, Richard D. Regan, Bradley Rubin, Albert E. Ruehli, Silvius Vasile Rus, Ramendra K. Sahoo, Alda Sanomiya, Eugen Schenfeld, M. Sharma, Edi Shmueli, Sarabjeet Singh, Peilin Song, Vijay Srinivasan, Burkhard D. Steinmacher-Burow, Karin Strauss, Christopher W. Surovic, Richard A. Swetz, Todd Takken, R. Brett Tremaine, Mickey Tsao, Arun R. Umamaheshwaran, P. Verma, Pavlos Vranas, T. J. Christopher Ward, Michael E. Wazlowski, W. Barrett, C. Engel, B. Drehmel, B. Hilgart, D. Hill, F. Kasemkhani, David J. Krolak, Chun-Tao Li, Thomas A. Liebsch, James A. Marcella, A. Muff, A. Okomo, M. Rouse, A. Schram, M. Tubbs, G. Ulsh, Charles D. Wait, J. Wittrup, Myung Bae, Kenneth A. Dockser, Lynn Kissel, Mark K. Seager, Jeffrey S. Vetter, K. Yates
2001 J jnl
Telecommun. Syst.
Erol Gelenbe, Vijay Srinivasan, Sridhar Seshadri, Natarajan Gautam
2001 J jnl
RFC
Daniel O. Awduche, Lou Berger, Der-hwa Gan, Tony Li, Vijay Srinivasan, George Swallow
2000 J jnl
RFC
Anoop Ghanwani, Wayne Pace, Vijay Srinivasan, Andrew Smith, Mick Seaman
1999 J jnl
Comput. Aided Des.
Vijay Srinivasan
1997 J jnl
IEEE J. Sel. Areas Commun.
Erol Gelenbe, Anoop Ghanwani, Vijay Srinivasan
1997 J jnl
Comput. Aided Des.
Leo Joskowicz, Elisha Sacks, Vijay Srinivasan
1996 J jnl
Comput. Commun.
Vijay Srinivasan, Anoop Ghanwani, Erol Gelenbe
1995 B conf
MASCOTS
Sridhar Seshadri, Vijay Srinivasan
1995 B conf
ICCCN
Vijay Srinivasan, Anoop Ghanwani, Erol Gelenbe
1995 conf
HPCN Europe
Vijay Srinivasan, Anoop Ghanwani, Erol Gelenbe
1995 conf
Symposium on Solid Modeling and Applications
Leo Joskowicz, Elisha Sacks, Vijay Srinivasan
1994 J jnl
Int. J. Comput. Geom. Appl.
Vijay Srinivasan, Lee R. Nackman
1994 J jnl
Algorithmica
Lee R. Nackman, Vijay Srinivasan
1994 conf
Modelling and Evaluation of ATM Networks
Erol Gelenbe, Sridhar Seshadri, Vijay Srinivasan
1992 J jnl
Proc. IEEE
Vijay Srinivasan, Lee R. Nackman, Jung-Mu Tang, Siavash N. Meshkat
1991 J jnl
Discret. Comput. Geom.
Lee R. Nackman, Vijay Srinivasan
1989 J jnl
IBM J. Res. Dev.
Rangarajan Jayaraman, Vijay Srinivasan
1989 J jnl
IBM J. Res. Dev.
Vijay Srinivasan, Rangarajan Jayaraman
1987 J jnl
IBM J. Res. Dev.
Vijay Srinivasan, Lee R. Nackman
1985 A* conf
ICRA
Vijay Srinivasan, Rangarajan Jayaraman
redb/extractors/js_extractors/js_deobfuscation.py
← Index redb/extractors/js_extractors/js_deobfuscation.py python
import hashlib
import inspect
import re
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.js_extractor import JSExtractor
from redb.extractors.js_extractors.js_patterns import PATTERNS

# String literals of 4+ characters; only used by the deobfuscation diff to count
# strings revealed after deobfuscation. Compiled once at module load.
_STRING_LITERAL_4PLUS_RE = re.compile(r"[\"\']([^\"\']{4,})[\"\']")


class JSDeobfuscationExtractor(JSExtractor):
    """Compute pre/post-deobfuscation metrics for a JS sample.

    The actual deobfuscation pass (external tool with jsbeautifier fallback)
    lives on `JSContext.deobfuscated` and is cached per sample, so any other
    extractor that needs the deobfuscated text reads the same value without
    re-running the subprocess. Configure the external tool via env vars:
        JS_DEOBFUSCATOR_PATH    Path or name (default: webcrack)
        JS_DEOBFUSCATE_TIMEOUT  Seconds (default: 60)
    """

    def __init__(
        self, filepath, log, exporters=None, index_prefix=None,
        known_benign=False, known_malicious=False, source=None, context=None,
    ):
        super().__init__(
            filepath, log, exporters, index_prefix,
            known_benign, known_malicious, source, context=context,
        )
        self.deobfuscation_result = None
        self.log.debug(inspect.currentframe().f_code.co_name)

    def tag(self):
        return Tag.JS_DEOBFUSCATION.value

    def extract(self):
        src = self.js_source
        if not src:
            return None

        deobfuscated, deobfuscator_used = self._context.deobfuscated
        if deobfuscated is None:
            return None

        original_size = len(src)
        original_entropy = self._context.text_entropy
        deobfuscated_size = len(deobfuscated)
        deobfuscated_entropy = self._calculate_text_entropy(deobfuscated)
        size_change_ratio = round(deobfuscated_size / original_size, 4) if original_size else 0.0

        # Strings revealed by deobfuscation: matched literals are extracted from
        # both versions and the set difference is the count of "new" strings.
        original_strings = set(_STRING_LITERAL_4PLUS_RE.findall(src))
        deobfuscated_strings = set(_STRING_LITERAL_4PLUS_RE.findall(deobfuscated))
        new_strings = deobfuscated_strings - original_strings

        # Suspicious APIs revealed by deobfuscation. Both sides of the diff
        # come from JSContext caches: the raw scan is computed once for the
        # whole pipeline; the deobfuscated scan is computed once and reused
        # by JSSuspiciousAPIsExtractor's revealed_by_deobf rows.
        original_apis = {n for n in self._context.scan if n in PATTERNS}
        deobfuscated_apis = set(self._context.scan_deobfuscated)
        new_apis = deobfuscated_apis - original_apis

        deobfuscated_sha256 = hashlib.sha256(deobfuscated.encode('utf-8')).hexdigest()

        self.deobfuscation_result = {
            'deobfuscator_used': deobfuscator_used,
            'deobfuscation_successful': True,
            'original_size': original_size,
            'deobfuscated_size': deobfuscated_size,
            'size_change_ratio': size_change_ratio,
            'original_entropy': original_entropy,
            'deobfuscated_entropy': deobfuscated_entropy,
            'new_strings_found': len(new_strings),
            'new_apis_found': len(new_apis),
            'deobfuscated_sha256': deobfuscated_sha256,
        }
        return self.deobfuscation_result

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ClickHouseExporter":
            if not self.deobfuscation_result:
                return None

            r = self.deobfuscation_result
            current_time = datetime.now(timezone.utc)
            data = [[
                self.sha256,
                r['deobfuscator_used'],
                int(r['deobfuscation_successful']),
                r['original_size'],
                r['deobfuscated_size'],
                r['size_change_ratio'],
                r['original_entropy'],
                r['deobfuscated_entropy'],
                r['new_strings_found'],
                r['new_apis_found'],
                r['deobfuscated_sha256'],
                current_time,
            ]]

            column_names = [
                "sha256", "deobfuscator_used", "deobfuscation_successful",
                "original_size", "deobfuscated_size", "size_change_ratio",
                "original_entropy", "deobfuscated_entropy",
                "new_strings_found", "new_apis_found",
                "deobfuscated_sha256", "analysis_date",
            ]

            column_type_names = [
                "FixedString(64)", "LowCardinality(String)", "UInt8",
                "UInt64", "UInt64", "Float64",
                "Float64", "Float64",
                "UInt32", "UInt32",
                "FixedString(64)", "DateTime64(3, 'UTC')",
            ]

            return (data, column_names, column_type_names)

    def get_clickhouse_table(self) -> str:
        return "redb_js_deobfuscation"