Rajiv Ratn Shah

347 papers A* 49A 31B 7C 8Misc 6Journal 140Unranked 106
YearRankTypeTitle / Venue / Authors
2026 A* conf
AAAI
Aanisha Bhattacharyya, Susmit Agrawal, Yaman Kumar Singla, Tarun Ram Menta, Nikitha S. R., Rajiv Ratn Shah, Changyou Chen, Balaji Krishnamurthy
2026 J jnl
CoRR
Jishu Sen Gupta, Harini S. I, Somesh Kumar Singh, Syed Mohamad Tawseeq, Yaman Kumar Singla, David S. Doermann, Rajiv Ratn Shah, Balaji Krishnamurthy
2026 A* conf
AAAI
Mahi Mann, Avinash Anand, Rajiv Ratn Shah
2026 A* conf
AAAI
Vashu Chauhan, Avinash Anand, Manisha Luthra, Uélison Jean Lopes dos Santos, Carsten Binnig, Rajiv Ratn Shah
2026 J jnl
CoRR
Aarya Khandelwal, Ritwik Mishra, Rajiv Ratn Shah
2026 A* conf
AAAI
Ravada Satyadev, Aditya Ganesh Kumar, Avinash Anand, Rajiv Ratn Shah, Zhengkui Wang, Mukesh Prasad
2025 conf
ANTS
Adarsh Pandey, Kirthana Natarajan, Rajiv Ratn Shah, Jainendra Shukla
2025 conf
BDA
Anwar Dilawar Shaikh, Prakrit Garg, Mahisha Ramesh, Ritwik Kashyap, Raghava Mutharaju, Rajiv Ratn Shah
2025 Misc conf
ICASSP
Tiancong Cheng, Ying Zhang, Rajiv Ratn Shah, Roger Zimmermann, Zhiwen Yu, Bin Guo
2025 J jnl
CoRR
Atharva Mehta, Rajesh Kumar, Aman Singla, Kartik Bisht, Yaman Kumar Singla, Rajiv Ratn Shah
2025 A* conf
AAAI
Ashishkumar Prabhakar Gudmalwar, Ishan Darshan Biyani, Nirmesh J. Shah, Pankaj Wasnik, Rajiv Ratn Shah
2025 J jnl
CoRR
Janak Kapuriya, Anwar Dilawar Shaikh, Arnav Goel, Medha Hira, Apoorv Singh, Jay Saraf, Sanjana, Vaibhav Nauriyal, Avinash Anand, Zhengkui Wang, Rajiv Ratn Shah
2025 C conf
ASRU
Hemant Yadav, Sunayana Sitaram, Rajiv Ratn Shah
2025 conf
MMM (2)
Ilhwan Kwon, Jun Li, Rajiv Ratn Shah, Mukesh Prasad
2025 conf
BDA
Ritwik Mishra, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2025 A conf
WACV
Harini S. I, Somesh Singh, Yaman Kumar Singla, Aanisha Bhattacharyya, Veeky Baths, Changyou Chen, Rajiv Ratn Shah, Balaji Krishnamurthy
2025 J jnl
CoRR
Ritwik Mishra, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2025 A* conf
ICLR
Varun Khurana, Yaman Kumar Singla, Jayakumar Subramanian, Changyou Chen, Rajiv Ratn Shah, Zhiqiang Xu, Balaji Krishnamurthy
2025 conf
NAACL (Student Research Workshop)
Mohit Gupta, Akiko Aizawa, Rajiv Ratn Shah
2025 J jnl
CoRR
Mohit Gupta, Akiko Aizawa, Rajiv Ratn Shah
2025 A* conf
AAAI
Avinash Anand, Kritarth Prasad, Chhavi Kirtani, Ashwin R. Nair, Manvendra Kumar Nema, Raj Jaiswal, Rajiv Ratn Shah
2025 conf
PAKDD (6)
Ritwik Mishra, Sreeram Vennam, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2025 J jnl
CoRR
Mohit Sharma, Amit Deshpande, Chiranjib Bhattacharyya, Rajiv Ratn Shah
2025 J jnl
IEEE Trans. Knowl. Data Eng.
Mayank Kharbanda, Rajiv Ratn Shah, Raghava Mutharaju
2025 A conf
INTERSPEECH
Ishan D. Biyani, Nirmesh J. Shah, Ashishkumar P. Gudmalwar, Pankaj Wasnik, Rajiv Ratn Shah
2025 J jnl
CoRR
Ishan D. Biyani, Nirmesh J. Shah, Ashishkumar P. Gudmalwar, Pankaj Wasnik, Rajiv Ratn Shah
2025 conf
DFF@MM
Utkarsh Venaik, Akash Kushwaha, Nabeel Koya A, Rajiv Ratn Shah
2025 J jnl
CoRR
Janak Kapuriya, Aman Singh, Jainendra Shukla, Rajiv Ratn Shah
2025 conf
BDA
Mann Khatri, Mirza Yusuf, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2025 J jnl
CoRR
Mann Khatri, Mirza Yusuf, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2025 A* conf
ICLR
Somesh Kumar Singh, Harini S. I, Yaman Kumar Singla, Changyou Chen, Rajiv Ratn Shah, Veeky Baths, Balaji Krishnamurthy
2025 J jnl
CoRR
Xing Zi, Kairui Jin, Xian Tao, Jun Li, Ali Braytee, Rajiv Ratn Shah, Mukesh Prasad
2024 A conf
CIKM
Avinash Anand, Ashwin R. Nair, Kritarth Prasad, Vrinda Narayan, Naman Lal, Debanjan Mahata, Yaman Singla, Rajiv Ratn Shah
2024 conf
MMAsia
Raj Jaiswal, Avinash Anand, Rajiv Ratn Shah
2024 conf
Tiny Papers @ ICLR
Samyak Jain, Rishi Singhal, Sriram Krishna, Yaman Kumar Singla, Rajiv Ratn Shah
2024 J jnl
CoRR
Avinash Anand, Kritarth Prasad, Ujjwal Goel, Mohit Gupta, Naman Lal, Astha Verma, Rajiv Ratn Shah
2024 J jnl
CoRR
Avinash Anand, Chayan Tank, Sarthak Pol, Vinayak Katoch, Shaina Mehta, Rajiv Ratn Shah
2024 A conf
INTERSPEECH
Neha Sahipjohn, Ashishkumar Gudmalwar, Nirmesh Shah, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
CoRR
Neha Sahipjohn, Ashishkumar P. Gudmalwar, Nirmesh Shah, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
CoRR
Ashishkumar Gudmalwar, Ishan D. Biyani, Nirmesh Shah, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
CoRR
Avinash Anand, Kritarth Prasad, Chhavi Kirtani, Ashwin R. Nair, Mohit Gupta, Saloni Garg, Anurag Gautam, Snehal Buldeo, Rajiv Ratn Shah
2024 conf
MIPR
Avinash Anand, Avni Mittal, Laavanaya Dhawan, Juhi Krishnamurthy, Mahisha Ramesh, Naman Lal, Astha Verma, Pijush Bhuyan, Himani, Rajiv Ratn Shah, Roger Zimmermann, Shin'ichi Satoh
2024 conf
MIPR
Avinash Anand, Raj Jaiswal, Abhishek Dharmadhikari, Atharva Marathe, Harsh Popat, Harshil Mital, Ashwin R. Nair, Kritarth Prasad, Sidharth Kumar, Astha Verma, Rajiv Ratn Shah, Roger Zimmermann
2024 J jnl
CoRR
Avinash Anand, Raj Jaiswal, Abhishek Dharmadhikari, Atharva Marathe, Harsh Popat, Harshil Mital, Kritarth Prasad, Rajiv Ratn Shah, Roger Zimmermann
2024 J jnl
CoRR
Raj Jaiswal, Dhruv Jain, Harsh Popat, Avinash Anand, Abhishek Dharmadhikari, Atharva Marathe, Rajiv Ratn Shah
2024 conf
NAACL-HLT (Findings)
Shivam Mhaskar, Nirmesh Shah, Mohammadi Zaki, Ashishkumar P. Gudmalwar, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
CoRR
Shivam Ratnakant Mhaskar, Nirmesh J. Shah, Mohammadi Zaki, Ashishkumar P. Gudmalwar, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
CoRR
Hemant Yadav, Rajiv Ratn Shah, Sunayana Sitaram
2024 J jnl
CoRR
Avinash Anand, Mohit Gupta, Kritarth Prasad, Ujjwal Goel, Naman Lal, Astha Verma, Rajiv Ratn Shah
2024 B conf
IJCB
Debnath Kundu, Atharva Mehta, Rajesh Kumar, Naman Lal, Avinash Anand, Apoorv Singh, Rajiv Ratn Shah
2024 J jnl
CoRR
Debnath Kundu, Atharva Mehta, Rajesh Kumar, Naman Lal, Avinash Anand, Apoorv Singh, Rajiv Ratn Shah
2024 J jnl
CoRR
Krishnasai Addala, Kabir Baghel, Dhruv Jain, Chhavi Kirtani, Avinash Anand, Rajiv Ratn Shah
2024 J jnl
CoRR
Somesh Singh, Harini S. I, Yaman Kumar Singla, Veeky Baths, Rajiv Ratn Shah, Changyou Chen, Balaji Krishnamurthy
2024 A* conf
ICLR
Ashmit Khandelwal, Aditya Agrawal, Aanisha Bhattacharyya, Yaman Kumar, Somesh Singh, Uttaran Bhattacharya, Ishita Dasgupta, Stefano Petrangeli, Rajiv Ratn Shah, Changyou Chen, Balaji Krishnamurthy
2024 J jnl
CoRR
Avinash Anand, Janak Kapuriya, Apoorv Singh, Jay Saraf, Naman Lal, Astha Verma, Rushali Gupta, Rajiv Ratn Shah
2024 conf
PAKDD (5)
Avinash Anand, Janak Kapuriya, Apoorv Singh, Jay Saraf, Naman Lal, Astha Verma, Rushali Gupta, Rajiv Ratn Shah
2024 J jnl
CoRR
Avinash Anand, Janak Kapuriya, Chhavi Kirtani, Apoorv Singh, Jay Saraf, Naman Lal, Jatin Kumar, Adarsh Raj Shivam, Astha Verma, Rajiv Ratn Shah, Roger Zimmermann
2024 A conf
INTERSPEECH
Hemant Yadav, Sunayana Sitaram, Rajiv Ratn Shah
2024 J jnl
CoRR
Hemant Yadav, Sunayana Sitaram, Rajiv Ratn Shah
2024 J jnl
CoRR
Avinash Anand, Mohit Gupta, Kritarth Prasad, Navya Singla, Sanjana Sanjeev, Jatin Kumar, Adarsh Raj Shivam, Rajiv Ratn Shah
2024 conf
LREC/COLING
Ritwik Mishra, Pooja Desur, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2024 J jnl
CoRR
Ritwik Mishra, Pooja Desur, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2024 J jnl
CoRR
Avinash Anand, Kritarth Prasad, Chhavi Kirtani, Ashwin R. Nair, Manvendra Kumar Nema, Raj Jaiswal, Rajiv Ratn Shah
2024 J jnl
CoRR
Ritwik Mishra, Sreeram Vennam, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2024 conf
MIPR
Avinash Anand, Sarthak Jain, Shashank Sharma, Akhil P. Dominic, Aman Gupta, Astha Verma, Raj Jaiswal, Naman Lal, Rajiv Ratn Shah, Roger Zimmermann
2024 A conf
ICWSM
Hitkul Jangra, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2024 J jnl
CoRR
Mayank Kharbanda, Rajiv Ratn Shah, Raghava Mutharaju
2024 J jnl
CoRR
Avinash Anand, Raj Jaiswal, Mohit Gupta, Siddhesh S. Bangar, Pijush Bhuyan, Naman Lal, Rajeev Singh, Ritika Jha, Rajiv Ratn Shah, Shin'ichi Satoh
2024 J jnl
CoRR
Hemant Yadav, Sunayana Sitaram, Rajiv Ratn Shah
2024 J jnl
CoRR
Krishnasai Addala, Kabir Baghel, Chhavi Kirtani, Avinash Anand, Rajiv Ratn Shah
2024 J jnl
CoRR
Chayan Tank, Shaina Mehta, Sarthak Pol, Vinayak Katoch, Avinash Anand, Raj Jaiswal, Rajiv Ratn Shah
2024 J jnl
CoRR
Avinash Anand, Raj Jaiswal, Pijush Bhuyan, Mohit Gupta, Siddhesh Bangar, Md. Modassir Imam, Rajiv Ratn Shah, Shin'ichi Satoh
2024 A* conf
ACM Multimedia
Yuan Xie, Yichen Zhang, Yifang Yin, Sheng Zhang, Ying Zhang, Rajiv Ratn Shah, Roger Zimmermann, Guoqing Xiao
2024 A conf
ECAI
Avinash Anand, Avni Mittal, Laavanaya Dhawan, Mahisha Ramesh, Juhi Krishnamurthy, Naman Lal, Raj Jaiswal, Pijush Bhuyan, Himani, Astha Verma, Rajiv Ratn Shah, Roger Zimmermann, Shin'ichi Satoh
2024 A conf
INTERSPEECH
Ashishkumar Gudmalwar, Nirmesh Shah, Sai Akarsh, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
CoRR
Ashishkumar P. Gudmalwar, Nirmesh Shah, Sai Akarsh, Pankaj Wasnik, Rajiv Ratn Shah
2024 J jnl
IEEE Trans. Affect. Comput.
Maitree Leekha, Shahid Nawaz Khan, Harshita Srinivas, Rajiv Ratn Shah, Jainendra Shukla
2023 A conf
WACV
Devansh Gupta, Aditya Saini, Sarthak Bhagat, Shagun Uppal, Rishi Raj Jain, Drishti Bhasin, Ponnurangam Kumaraguru, Rajiv Ratn Shah
2023 A* conf
EMNLP
Aanisha Bhattacharyya, Yaman Singla, Balaji Krishnamurthy, Rajiv Ratn Shah, Changyou Chen
2023 J jnl
CoRR
Aanisha Bhattacharya, Yaman Kumar Singla, Balaji Krishnamurthy, Rajiv Ratn Shah, Changyou Chen
2023 J jnl
CoRR
Arnav Goel, Medha Hira, Avinash Anand, Siddhesh Bangar, Rajiv Ratn Shah
2023 Misc conf
ICASSP
Hemant Yadav, Sunayana Sitaram, Rajiv Ratn Shah
2023 J jnl
CoRR
Hemant Yadav, Sunayana Sitaram, Rajiv Ratn Shah
2023 J jnl
Int. J. Artif. Intell. Educ.
Pakhi Bamdev, Manraj Singh Grover, Yaman Kumar Singla, Payman Vafaee, Mika Hama, Rajiv Ratn Shah
2023 J jnl
Dialogue Discourse
Yaman Kumar, Swapnil Parekh, Somesh Singh, Junyi Jessy Li, Rajiv Ratn Shah, Changyou Chen
2023 J jnl
CoRR
Varun Khurana, Yaman Kumar Singla, Jayakumar Subramanian, Rajiv Ratn Shah, Changyou Chen, Zhiqiang Xu, Balaji Krishnamurthy
2023 J jnl
CoRR
Astha Verma, Siddhesh Bangar, A. Venkata Subramanyam, Naman Lal, Rajiv Ratn Shah, Shin'ichi Satoh
2023 C conf
JURIX
Mann Khatri, Reshma Sheik, Yaman Kumar, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2023 J jnl
CoRR
Mann Khatri, Pritish Wadhwa, Gitansh Raj Satija, Reshma Sheik, Yaman Kumar, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2023 J jnl
Neural Comput. Appl.
Yi Yu, Zhe Zhang, Wei Duan, Abhishek Srivastava, Rajiv Ratn Shah, Yi Ren
2023 conf
BDA
Avinash Anand, Kritarth Prasad, Ujjwal Goel, Mohit Gupta, Naman Lal, Astha Verma, Rajiv Ratn Shah
2023 J jnl
AI Matters
Michael Guerzhoy, Marion Neumann, Pat Virtue, Carolyn Jane Anderson, Yaman Kumar Singla, Alexi Orchard, Rajiv Ratn Shah
2023 A conf
ICWSM
Hitkul Jangra, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2023 conf
MCGE@MM
Sahil Goyal, Sarthak Bhagat, Shagun Uppal, Hitkul Jangra, Yi Yu, Yifang Yin, Rajiv Ratn Shah
2023 J jnl
CoRR
Sahil Goyal, Shagun Uppal, Sarthak Bhagat, Yi Yu, Yifang Yin, Rajiv Ratn Shah
2023 conf
BDA
Ritwik Mishra, Ajeet Yadav, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2023 J jnl
CoRR
Mann Khatri, Mirza Yusuf, Yaman Kumar, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2023 conf
BDA
Avinash Anand, Atharv Jairath, Naman Lal, Siddhesh Bangar, Jagriti Sikka, Astha Verma, Rajiv Ratn Shah, Shin'ichi Satoh
2023 A* conf
AAAI
Shubhankar Singh, Anirudh Pupneja, Shivaansh Mital, Cheril Shah, Manish Bawkar, Lakshman Prasad Gupta, Ajit Kumar, Yaman Kumar, Rushali Gupta, Rajiv Ratn Shah
2023 J jnl
CoRR
Shubhankar Singh, Anirudh Pupneja, Shivaansh Mital, Cheril Shah, Manish Bawkar, Lakshman Prasad Gupta, Ajit Kumar, Yaman Kumar, Rushali Gupta, Rajiv Ratn Shah
2023 conf
ClinicalNLP@ACL
Ritwik Mishra, Simranjeet Singh, Jasmeet Kaur, Pushpendra Singh, Rajiv Ratn Shah
2023 conf
IJCNLP (Findings)
Ritwik Mishra, Simranjeet Singh, Rajiv Ratn Shah, Ponnurangam Kumaraguru, Pushpak Bhattacharyya
2023 conf
BDA
Avinash Anand, Mohit Gupta, Kritarth Prasad, Ujjwal Goel, Naman Lal, Astha Verma, Rajiv Ratn Shah
2023 J jnl
CoRR
Ashmit Khandelwal, Aditya Agrawal, Aanisha Bhattacharyya, Yaman Kumar Singla, Somesh Singh, Uttaran Bhattacharya, Ishita Dasgupta, Stefano Petrangeli, Rajiv Ratn Shah, Changyou Chen, Balaji Krishnamurthy
2023 J jnl
CoRR
Harini S. I, Somesh Singh, Yaman Kumar Singla, Aanisha Bhattacharyya, Veeky Baths, Changyou Chen, Rajiv Ratn Shah, Balaji Krishnamurthy
2023 A* conf
AAAI
Hemant Yadav, Rajiv Ratn Shah
2023 A conf
ICME
Astha Verma, A. Venkata Subramanyam, Mohammad Ali Jauhar, Divij Gera, Rajiv Ratn Shah
2023 J jnl
CoRR
Mohit Sharma, Amit Deshpande, Rajiv Ratn Shah
2023 C conf
ASRU
Hemant Yadav, Erica Cooper, Junichi Yamagishi, Sunayana Sitaram, Rajiv Ratn Shah
2023 J jnl
CoRR
Hemant Yadav, Erica Cooper, Junichi Yamagishi, Sunayana Sitaram, Rajiv Ratn Shah
2023 A* conf
AAAI
Yaman Kumar, Rajat Jha, Arunim Gupta, Milan Aggarwal, Aditya Garg, Tushar Malyan, Ayush Bhardwaj, Rajiv Ratn Shah, Balaji Krishnamurthy, Changyou Chen
2023 conf
MMAsia
Avinash Anand, Raj Jaiswal, Mohit Gupta, Siddhesh S. Bangar, Pijush Bhuyan, Naman Lal, Rajeev Singh, Ritika Jha, Rajiv Ratn Shah, Shin'ichi Satoh
2023 conf
BDA
Avinash Anand, Krishnasai Addala, Kabir Baghel, Arnav Goel, Medha Hira, Rushali Gupta, Rajiv Ratn Shah
2023 conf
BDA
Avinash Anand, Arnav Goel, Medha Hira, Snehal Buldeo, Jatin Kumar, Astha Verma, Rushali Gupta, Rajiv Ratn Shah
2023 conf
MMIR@MM
Avinash Anand, Raj Jaiswal, Pijush Bhuyan, Mohit Gupta, Siddhesh Bangar, Md. Modassir Imam, Rajiv Ratn Shah, Shin'ichi Satoh
2023 J jnl
IEEE Trans. Multim.
Astha Verma, A. Venkata Subramanyam, Zheng Wang, Shin'ichi Satoh, Rajiv Ratn Shah
2022 J jnl
CoRR
Sreyan Ghosh, Utkarsh Tyagi, Sonal Kumar, Manan Suri, Rajiv Ratn Shah
2022 A* conf
AAAI
Devansh Gupta, Drishti Bhasin, Sarthak Bhagat, Shagun Uppal, Ponnurangam Kumaraguru, Rajiv Ratn Shah
2022 A conf
INTERSPEECH
Sreyan Ghosh, Samden Lepcha, Sakshi Singh, Rajiv Ratn Shah, Srinivasan Umesh
2022 conf
MMAsia
Sahil Goyal, Shagun Uppal, Sarthak Bhagat, Dhroov Goel, Sakshat Mali, Yi Yu, Yifang Yin, Rajiv Ratn Shah
2022 conf
COMAD/CODS
Anubha Kabra, Mehar Bhatia, Yaman Kumar Singla, Junyi Jessy Li, Rajiv Ratn Shah
2022 J jnl
CoRR
Devansh Gupta, Aditya Saini, Drishti Bhasin, Sarthak Bhagat, Shagun Uppal, Rishi Raj Jain, Ponnurangam Kumaraguru, Rajiv Ratn Shah
2022 A conf
ICWSM
Shivangi Singhal, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2022 J jnl
Commun. ACM
Shivangi Singhal, Rishabh Kaushal, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2022 J jnl
IEEE Trans. Biom. Behav. Identity Sci.
Mohit Agrawal, Pragyan Mehrotra, Rajesh Kumar, Rajiv Ratn Shah
2022 J jnl
CoRR
Mohit Agrawal, Pragyan Mehrotra, Rajesh Kumar, Rajiv Ratn Shah
2022 J jnl
IEEE Trans. Multim.
Yifang Yin, Ying Zhang, Zhenguang Liu, Sheng Wang, Rajiv Ratn Shah, Roger Zimmermann
2022 A conf
INTERSPEECH
Hemant Yadav, Akshat Gupta, Sai Krishna Rallabandi, Alan W. Black, Rajiv Ratn Shah
2022 conf
DL4SR@CIKM
Debanjan Mahata, Navneet Agarwal, Dibya Gautam, Amardeep Kumar, Swapnil Parekh, Yaman Kumar Singla, Anish Acharya, Rajiv Ratn Shah
2022 J jnl
CoRR
Debanjan Mahata, Navneet Agarwal, Dibya Gautam, Amardeep Kumar, Swapnil Parekh, Yaman Kumar Singla, Anish Acharya, Rajiv Ratn Shah
2022 conf
WWW (Companion Volume)
Shivangi Singhal, Tanisha Pandey, Saksham Mrig, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2022 A* conf
AAAI
Yaman Kumar Singla, Swapnil Parekh, Somesh Singh, Changyou Chen, Balaji Krishnamurthy, Rajiv Ratn Shah
2022 conf
WWW (Companion Volume)
Sherzod Hakimov, Gullal Singh Cheema, Marc A. Kastner, Rajiv Ratn Shah, Karan Sikka
2022 conf
MMM (1)
Abhishek Srivastava, Wei Duan, Rajiv Ratn Shah, Jianming Wu, Suhua Tang, Wei Li, Yi Yu
2022 J jnl
CoRR
Yaman Kumar Singla, Rajat Jha, Arunim Gupta, Milan Aggarwal, Aditya Garg, Ayush Bhardwaj, Tushar Malyan, Balaji Krishnamurthy, Rajiv Ratn Shah, Changyou Chen
2022 A conf
INTERSPEECH
Sreyan Ghosh, Sonal Kumar, Yaman Kumar, Rajiv Ratn Shah, Srinivasan Umesh
2022 J jnl
CoRR
Sreyan Ghosh, Sonal Kumar, Yaman Kumar Singla, Rajiv Ratn Shah, Srinivasan Umesh
2022 A conf
ICWSM
Suhavi, Asmit Kumar Singh, Udit Arora, Somyadeep Shrivastava, Aryaveer Singh, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2022 A* conf
AAAI
Yaman Kumar Singla, Sriram Krishna, Rajiv Ratn Shah, Changyou Chen
2022 conf
MIPR
Astha Verma, A. Venkata Subramanyam, Rajiv Ratn Shah
2022 conf
ICDM (Workshops)
Yaman Kumar Singla, Jui Shah, Changyou Chen, Rajiv Ratn Shah
2021 J jnl
SN Comput. Sci.
Deepak Sharma, Bijendra Kumar, Satish Chand, Rajiv Ratn Shah
2021 J jnl
CoRR
Yaman Kumar Singla, Swapnil Parekh, Somesh Singh, Junyi Jessy Li, Rajiv Ratn Shah, Changyou Chen
2021 conf
NAACL-HLT
Ramit Sawhney, Arshiya Aggarwal, Rajiv Ratn Shah
2021 J jnl
CoRR
Pakhi Bamdev, Manraj Singh Grover, Yaman Kumar Singla, Payman Vafaee, Mika Hama, Rajiv Ratn Shah
2021 J jnl
CoRR
Hitkul, Avinash Prabhu, Dipanwita Guhathakurta, Jivitesh Jain, Mallika Subramanian, Manvith Reddy, Shradha Sehgal, Tanvi Karandikar, Amogh Gulati, Udit Arora, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2021 J jnl
CoRR
Sreyan Ghosh, Sonal Kumar, Harsh Jalan, Hemant Yadav, Rajiv Ratn Shah
2021 B conf
IJCB
Mohit Agrawal, Pragyan Mehrotra, Rajesh Kumar, Rajiv Ratn Shah
2021 J jnl
CoRR
Mohit Agrawal, Pragyan Mehrotra, Rajesh Kumar, Rajiv Ratn Shah
2021 A* conf
AAAI
Yifang Yin, Harsh Shrivastava, Ying Zhang, Zhenguang Liu, Rajiv Ratn Shah, Roger Zimmermann
2021 A* conf
CHI
Vidit Jain, Maitree Leekha, Rajiv Ratn Shah, Jainendra Shukla
2021 J jnl
CoRR
Vidit Jain, Maitree Leekha, Rajiv Ratn Shah, Jainendra Shukla
2021 A* conf
WWW
Ramit Sawhney, Shivam Agarwal, Arnav Wadhwa, Rajiv Ratn Shah
2021 A conf
EACL
Ramit Sawhney, Arnav Wadhwa, Shivam Agarwal, Rajiv Ratn Shah
2021 J jnl
CoRR
Shivangi Singhal, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2021 J jnl
CoRR
Laiba Mehnaz, Debanjan Mahata, Rakesh Gosangi, Uma Sushmitha Gunturi, Riya Jain, Gauri Gupta, Amardeep Kumar, Isabelle G. Lee, Anish Acharya, Rajiv Ratn Shah
2021 conf
EMNLP (1)
Laiba Mehnaz, Debanjan Mahata, Rakesh Gosangi, Uma Sushmitha Gunturi, Riya Jain, Gauri Gupta, Amardeep Kumar, Isabelle G. Lee, Anish Acharya, Rajiv Ratn Shah
2021 A* conf
SIGIR
Ramit Sawhney, Shivam Agarwal, Megh Thakkar, Arnav Wadhwa, Rajiv Ratn Shah
2021 J jnl
CoRR
Hemant Yadav, Akshat Gupta, Sai Krishna Rallabandi, Alan W. Black, Rajiv Ratn Shah
2021 conf
MMAsia
Shivangi Singhal, Mudit Dhawan, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2021 Misc conf
ICASSP
Aradhya Neeraj Mathur, Devansh Batra, Yaman Kumar Singla, Rajiv Ratn Shah, Roger Zimmermann
2021 A* conf
ACM Multimedia
Yifang Yin, Ying Zhang, Zhenguang Liu, Yuxuan Liang, Sheng Wang, Rajiv Ratn Shah, Roger Zimmermann
2021 conf
FIRE (Working Notes)
Zaki Mustafa Farooqi, Sreyan Ghosh, Rajiv Ratn Shah
2021 J jnl
CoRR
Zaki Mustafa Farooqi, Sreyan Ghosh, Rajiv Ratn Shah
2021 J jnl
CoRR
Swapnil Parekh, Yaman Kumar Singla, Somesh Singh, Changyou Chen, Balaji Krishnamurthy, Rajiv Ratn Shah
2021 Misc conf
ICASSP
Suransh Chopra, Puneet Mathur, Ramit Sawhney, Rajiv Ratn Shah
2021 A conf
UAI
Ramit Sawhney, Arnav Wadhwa, Ayush Mangal, Vivek Mittal, Shivam Agarwal, Rajiv Ratn Shah
2021 conf
ACL/IJCNLP (1)
Ramit Sawhney, Mihir Goyal, Prakhar Goel, Puneet Mathur, Rajiv Ratn Shah
2021 conf
NAACL-HLT
Ramit Sawhney, Puneet Mathur, Taru Jain, Akash Kumar Gautam, Rajiv Ratn Shah
2021 conf
MMAsia
Mohit Sharma, Raj Aaryaman Patra, Harshal Desai, Shruti Vyas, Yogesh S. Rawat, Rajiv Ratn Shah
2021 J jnl
CoRR
Mohit Sharma, Raj Patra, Harshal Desai, Shruti Vyas, Yogesh S. Rawat, Rajiv Ratn Shah
2021 A conf
EACL
Ramit Sawhney, Harshit Joshi, Lucie Flek, Rajiv Ratn Shah
2021 J jnl
CoRR
Anuj Saraswat, Mehar Bhatia, Yaman Kumar Singla, Changyou Chen, Rajiv Ratn Shah
2021 conf
NAACL-HLT
Ramit Sawhney, Arnav Wadhwa, Shivam Agarwal, Rajiv Ratn Shah
2021 J jnl
J. Am. Medical Informatics Assoc.
Ramit Sawhney, Harshit Joshi, Saumya Gandhi, Di Jin, Rajiv Ratn Shah
2021 A conf
CIKM
Yaman Kumar Singla, Avyakt Gupta, Shaurya Bagga, Changyou Chen, Balaji Krishnamurthy, Rajiv Ratn Shah
2021 J jnl
CoRR
Yaman Kumar Singla, Avyakt Gupta, Shaurya Bagga, Changyou Chen, Balaji Krishnamurthy, Rajiv Ratn Shah
2021 J jnl
CoRR
Sreyan Ghosh, Samden Lepcha, Sakshi Singh, Rajiv Ratn Shah
2021 A* conf
AAAI
Ramit Sawhney, Shivam Agarwal, Arnav Wadhwa, Tyler Derr, Rajiv Ratn Shah
2021 conf
NAACL-HLT
Ramit Sawhney, Harshit Joshi, Rajiv Ratn Shah, Lucie Flek
2021 A* conf
IJCAI
Ramit Sawhney, Shivam Agarwal, Arnav Wadhwa, Rajiv Ratn Shah
2021 A conf
ICWSM
Ramit Sawhney, Harshit Joshi, Alicia L. Nobles, Rajiv Ratn Shah
2021 J jnl
CoRR
Rajaswa Patil, Yaman Kumar Singla, Rajiv Ratn Shah, Mika Hama, Roger Zimmermann
2021 A conf
WSDM
Ramit Sawhney, Harshit Joshi, Saumya Gandhi, Rajiv Ratn Shah
2021 J jnl
Multim. Tools Appl.
Deepak Sharma, Bijendra Kumar, Satish Chand, Rajiv Ratn Shah
2021 J jnl
CoRR
Yaman Kumar Singla, Sriram Krishna, Rajiv Ratn Shah, Changyou Chen
2021 J jnl
CoRR
Jui Shah, Yaman Kumar Singla, Changyou Chen, Rajiv Ratn Shah
2020 J jnl
CoRR
Dhruva Sahrawat, Yaman Kumar, Shashwat Aggarwal, Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2020 A conf
ICWSM
Akash Kumar Gautam, Puneet Mathur, Rakesh Gosangi, Debanjan Mahata, Ramit Sawhney, Rajiv Ratn Shah
2020 J jnl
J. Parallel Distributed Comput.
Karanbir Singh Chahal, Manraj Singh Grover, Kuntal Dey, Rajiv Ratn Shah
2020 conf
EMNLP (1)
Avinash Swaminathan, Haimin Zhang, Debanjan Mahata, Rakesh Gosangi, Rajiv Ratn Shah, Amanda Stent
2020 conf
EMNLP (1)
Ramit Sawhney, Harshit Joshi, Saumya Gandhi, Rajiv Ratn Shah
2020 conf
BigMM
Dhruv Verma, Kshitij Gulati, Rajiv Ratn Shah
2020 J jnl
CoRR
Dhruv Verma, Kshitij Gulati, Rajiv Ratn Shah
2020 B conf
LREC
Swapnil Dhanwal, Hritwik Dutta, Hitesh Nankani, Nilay Shrivastava, Yaman Kumar, Junyi Jessy Li, Debanjan Mahata, Rakesh Gosangi, Haimin Zhang, Rajiv Ratn Shah, Amanda Stent
2020 A* conf
AAAI
Gyanesh Anand, Akash Kumar Gautam, Puneet Mathur, Debanjan Mahata, Rajiv Ratn Shah, Ramit Sawhney
2020 J jnl
CoRR
Gyanesh Anand, Akash Kumar Gautam, Puneet Mathur, Debanjan Mahata, Rajiv Ratn Shah, Ramit Sawhney
2020 A* conf
AAAI
Anjali Bhavan, Mohit Sharma, Ramit Sawhney, Rajiv Ratn Shah
2020 conf
BigMM
Ritwik Mishra, Ponnurangam Kumaraguru, Rajiv Ratn Shah, Aanshul Sadaria, Shashank Srikanth, Kanay Gupta, Himanshu Bhatia, Pratik Jain
2020 conf
BigMM
Hitkul, Omkar Gurjar, Aanshul Sadaria, Kanay Gupta, Shashank Srikanth, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2020 conf
BigMM
Prakhar Goel, Mihir Goyal, Rajiv Ratn Shah
2020 B conf
COLING
Amit Jindal, Arijit Ghosh Chowdhury, Aniket Didolkar, Di Jin, Ramit Sawhney, Rajiv Ratn Shah
2020 conf
BigMM
Ramit Sawhney, Akash Kumar Gautam, Rajiv Ratn Shah
2020 conf
BigMM
Himanshu Singh, Rajiv Ratn Shah
2020 J jnl
CoRR
Shagun Uppal, Anish Madan, Sarthak Bhagat, Yi Yu, Rajiv Ratn Shah
2020 conf
MMAsia
Shagun Uppal, Anish Madan, Sarthak Bhagat, Yi Yu, Rajiv Ratn Shah
2020 J jnl
CoRR
Vishaal Udandarao, Abhishek Maiti, Deepak Srivatsav, Suryatej Reddy Vyalla, Yifang Yin, Rajiv Ratn Shah
2020 J jnl
CoRR
Yaman Kumar, Mehar Bhatia, Anubha Kabra, Junyi Jessy Li, Di Jin, Rajiv Ratn Shah
2020 J jnl
Int. J. Bus. Intell. Data Min.
Shiv Prakash, Sudhanshu Joshi, Tanvi Bhatia, Sadhna Sharma, Durgesh Samadhiya, Rajiv Ratn Shah, Omprakash Kaiwartya, Mukesh Prasad
2020 J jnl
CoRR
Yi Yu, Abhishek Srivastava, Rajiv Ratn Shah
2020 A* conf
AAAI
Mansi Agarwal, Maitree Leekha, Ramit Sawhney, Rajiv Ratn Shah
2020 J jnl
CoRR
Hemant Yadav, Janvijay Singh, Atul Anshuman Singh, Rachit Mittal, Rajiv Ratn Shah
2020 conf
EMNLP (1)
Ramit Sawhney, Shivam Agarwal, Arnav Wadhwa, Rajiv Ratn Shah
2020 A* conf
AAAI
Palak Goenka, Mehak Piplani, Ramit Sawhney, Puneet Mathur, Rajiv Ratn Shah
2020 A conf
INTERSPEECH
Hemant Yadav, Sreyan Ghosh, Yi Yu, Rajiv Ratn Shah
2020 J jnl
CoRR
Hemant Yadav, Sreyan Ghosh, Yi Yu, Rajiv Ratn Shah
2020 A* conf
ACM Multimedia
Dhruv Verma, Kshitij Gulati, Vasu Goel, Rajiv Ratn Shah
2020 B conf
COLING
Ramit Sawhney, Arnav Wadhwa, Shivam Agarwal, Rajiv Ratn Shah
2020 J jnl
CoRR
Yaman Kumar, Swati Aggarwal, Debanjan Mahata, Rajiv Ratn Shah, Ponnurangam Kumaraguru, Roger Zimmermann
2020 A* conf
AAAI
Yaman Kumar, Dhruva Sahrawat, Shubham Maheshwari, Debanjan Mahata, Amanda Stent, Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2020 A* conf
AAAI
Shivang Chopra, Ramit Sawhney, Puneet Mathur, Rajiv Ratn Shah
2020 conf
ECIR (2)
Dhruva Sahrawat, Debanjan Mahata, Haimin Zhang, Mayank Kulkarni, Agniv Sharma, Rakesh Gosangi, Amanda Stent, Yaman Kumar, Rajiv Ratn Shah, Roger Zimmermann
2020 A* conf
AAAI
Avinash Swaminathan, Raj Kuwar Gupta, Haimin Zhang, Debanjan Mahata, Rakesh Gosangi, Rajiv Ratn Shah
2020 J jnl
CoRR
Aradhya Neeraj Mathur, Devansh Batra, Yaman Kumar, Rajiv Ratn Shah, Roger Zimmermann
2020 conf
ECIR (1)
Jagriti Sikka, Kushal Satya, Yaman Kumar, Shagun Uppal, Rajiv Ratn Shah, Roger Zimmermann
2020 J jnl
Expert Syst. Appl.
Amir Hossein Nabizadeh, José Paulo Leal, Hamed Nabizadeh Rafsanjani, Rajiv Ratn Shah
2020 A* conf
AAAI
Amit Jindal, Dwaraknath Gnaneshwar, Ramit Sawhney, Rajiv Ratn Shah
2020 conf
ECIR (1)
Mansi Agarwal, Maitree Leekha, Ramit Sawhney, Rajiv Ratn Shah, Rajesh Kumar Yadav, Dinesh Kumar Vishwakarma
2020 conf
SemEval@COLING
Sarthak Anand, Pradyumna Gupta, Hemant Yadav, Debanjan Mahata, Rakesh Gosangi, Haimin Zhang, Rajiv Ratn Shah
2020 J jnl
CoRR
Sarthak Anand, Pradyumna Gupta, Hemant Yadav, Debanjan Mahata, Rakesh Gosangi, Haimin Zhang, Rajiv Ratn Shah
2020 Misc conf
ICASSP
Puneet Mathur, Mehak Piplani, Ramit Sawhney, Amit Jindal, Rajiv Ratn Shah
2020 Misc conf
ICASSP
Harsh Shrivastava, Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2020 J jnl
CoRR
Manraj Singh Grover, Yaman Kumar, Sumit Sarin, Payman Vafaee, Mika Hama, Rajiv Ratn Shah
2020 A* conf
ACM Multimedia
Ramit Sawhney, Puneet Mathur, Ayush Mangal, Piyush Khanna, Rajiv Ratn Shah, Roger Zimmermann
2020 J jnl
CoRR
Swapnil Parekh, Yaman Kumar Singla, Changyou Chen, Junyi Jessy Li, Rajiv Ratn Shah
2020 conf
BigMM
Vishaal Udandarao, Mohit Agrawal, Rajesh Kumar, Rajiv Ratn Shah
2020 J jnl
CoRR
Vishaal Udandarao, Mohit Agrawal, Rajesh Kumar, Rajiv Ratn Shah
2020 conf
BigMM
Dikshant Sagar, Jatin Garg, Prarthana Kansal, Sejal Bhalla, Rajiv Ratn Shah, Yi Yu
2020 J jnl
CoRR
Dikshant Sagar, Jatin Garg, Prarthana Kansal, Sejal Bhalla, Rajiv Ratn Shah, Yi Yu
2020 A conf
INTERSPEECH
Ramit Sawhney, Arshiya Aggarwal, Piyush Khanna, Puneet Mathur, Taru Jain, Rajiv Ratn Shah
2020 conf
MMAsia
Aayush Jain, Meet Shah, Suraj Pandey, Mansi Agarwal, Rajiv Ratn Shah, Yifang Yin
2020 A* conf
ICDM
Ramit Sawhney, Shivam Agarwal, Arnav Wadhwa, Rajiv Ratn Shah
2020 A conf
INTERSPEECH
Amit Jindal, Narayanan Elavathur Ranganatha, Aniket Didolkar, Arijit Ghosh Chowdhury, Di Jin, Ramit Sawhney, Rajiv Ratn Shah
2020 A* conf
AAAI
Shivangi Singhal, Anubha Kabra, Mohit Sharma, Rajiv Ratn Shah, Tanmoy Chakraborty, Ponnurangam Kumaraguru
2020 A* conf
AAAI
Puneet Mathur, Ramit Sawhney, Rajiv Ratn Shah
2020 conf
MMAsia
Anish Bhardwaj, Nikhil Chauhan, Rajiv Ratn Shah
2020 conf
BigMM
Shivam Rustagi, Aakash Garg, Pranay Raj Anand, Rajesh Kumar, Yaman Kumar, Rajiv Ratn Shah
2020 J jnl
CoRR
Shivam Rustagi, Aakash Garg, Pranay Raj Anand, Rajesh Kumar, Yaman Kumar, Rajiv Ratn Shah
2020 J jnl
CoRR
Hitkul, Karmanya Aggarwal, Pakhi Bamdev, Debanjan Mahata, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2020 conf
AACL/IJCNLP
Shagun Uppal, Vivek Gupta, Avinash Swaminathan, Haimin Zhang, Debanjan Mahata, Rakesh Gosangi, Rajiv Ratn Shah, Amanda Stent
2020 conf
ACL (student)
Sharan Pai, Nikhil Sachdeva, Prince Sachdeva, Rajiv Ratn Shah
2020 conf
ECIR (2)
Puneet Mathur, Ramit Sawhney, Shivang Chopra, Maitree Leekha, Rajiv Ratn Shah
2020 conf
EMNLP (1)
Ramit Sawhney, Piyush Khanna, Arshiya Aggarwal, Taru Jain, Puneet Mathur, Rajiv Ratn Shah
2020 conf
BigMM
Shahid Nawaz Khan, Maitree Leekha, Jainendra Shukla, Rajiv Ratn Shah
2020 J jnl
CoRR
Shahid Nawaz Khan, Maitree Leekha, Jainendra Shukla, Rajiv Ratn Shah
2020 J jnl
CoRR
Manraj Singh Grover, Pakhi Bamdev, Yaman Kumar, Mika Hama, Rajiv Ratn Shah
2019 J jnl
CoRR
Akash Kumar Gautam, Puneet Mathur, Rakesh Gosangi, Debanjan Mahata, Ramit Sawhney, Rajiv Ratn Shah
2019 conf
ACL (1)
Arijit Ghosh Chowdhury, Ramit Sawhney, Rajiv Ratn Shah, Debanjan Mahata
2019 A conf
CIKM
Pradyumna Prakhar Sinha, Rohan Mishra, Ramit Sawhney, Debanjan Mahata, Rajiv Ratn Shah, Huan Liu
2019 conf
ACL (2)
Arijit Ghosh Chowdhury, Aniket Didolkar, Ramit Sawhney, Rajiv Ratn Shah
2019 conf
BigMM
Maitree Leekha, Mononito Goswami, Rajiv Ratn Shah, Yifang Yin, Roger Zimmermann
2019 conf
BigMM
Ranjodh Singh, Hemant Yadav, Mohit Sharma, Sandeep Gosain, Rajiv Ratn Shah
2019 conf
BigMM
Ranjodh Singh, Meghna P. Ayyar, Tata Sri Pavan, Sandeep Gosain, Rajiv Ratn Shah
2019 J jnl
CoRR
Yaman Kumar, Debanjan Mahata, Sagar Aggarwal, Anmol Chugh, Rajat Maheshwari, Rajiv Ratn Shah
2019 J jnl
Knowl. Based Syst.
Anjali Bhavan, Pankaj Chauhan, Hitkul, Rajiv Ratn Shah
2019 conf
HT
Arijit Ghosh Chowdhury, Aniket Didolkar, Ramit Sawhney, Rajiv Ratn Shah
2019 J jnl
CoRR
Vedant Bhatia, Prateek Rawat, Ajit Kumar, Rajiv Ratn Shah
2019 A conf
WACV
Puneet Mathur, Meghna Ayyar, Rajiv Ratn Shah, Sg Sharma
2019 B conf
FUZZ-IEEE
Ramit Sawhney, Rajiv Ratn Shah, Vedant Bhatia, Chin-Teng Lin, Sagar Aggarwal, Mukesh Prasad
2019 conf
BigMM
Harsh Shrivastava, Rama Krishna P. V. N. S, Karmanya Aggarwal, Meghna P. Ayyar, Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2019 conf
SIGSPATIAL/GIS
Yifang Yin, Zhenguang Liu, Ying Zhang, Sheng Wang, Rajiv Ratn Shah, Roger Zimmermann
2019 A* conf
AAAI
Yaman Kumar, Swati Aggarwal, Debanjan Mahata, Rajiv Ratn Shah, Ponnurangam Kumaraguru, Roger Zimmermann
2019 J jnl
CoRR
Yaman Kumar, Shubham Maheshwari, Dhruva Sahrawat, Praveen Jhanwar, Vipin Chaudhary, Rajiv Ratn Shah, Debanjan Mahata
2019 A conf
INTERSPEECH
Shashwat Uttam, Yaman Kumar, Dhruva Sahrawat, Mansi Aggarwal, Rajiv Ratn Shah, Debanjan Mahata, Amanda Stent
2019 J jnl
CoRR
Haimin Zhang, Debanjan Mahata, Simra Shahid, Laiba Mehnaz, Sarthak Anand, Yaman Singla, Rajiv Ratn Shah, Karan Uppal
2019 conf
ACL (2)
Anjali Bhavan, Rohan Mishra, Pradyumna Prakhar Sinha, Ramit Sawhney, Rajiv Ratn Shah
2019 J jnl
CoRR
Dhruva Sahrawat, Debanjan Mahata, Mayank Kulkarni, Haimin Zhang, Rakesh Gosangi, Amanda Stent, Agniv Sharma, Yaman Kumar, Rajiv Ratn Shah, Roger Zimmermann
2019 J jnl
CoRR
Avinash Swaminathan, Raj Kuwar Gupta, Haimin Zhang, Debanjan Mahata, Rakesh Gosangi, Rajiv Ratn Shah
2019 J jnl
CoRR
Jagriti Sikka, Kushal Satya, Yaman Kumar, Shagun Uppal, Rajiv Ratn Shah, Roger Zimmermann
2019 A* conf
AAAI
Khwaja Mohd. Salik, Swati Aggarwal, Yaman Kumar, Rajiv Ratn Shah, Rohit Jain, Roger Zimmermann
2019 A* conf
AAAI
Yaman Kumar, Rohit Jain, Khwaja Mohd. Salik, Rajiv Ratn Shah, Yifang Yin, Roger Zimmermann
2019 J jnl
CoRR
Yaman Kumar, Rohit Jain, Khwaja Mohd. Salik, Rajiv Ratn Shah, Yifang Yin, Roger Zimmermann
2019 conf
SemEval@NAACL-HLT
Debanjan Mahata, Haimin Zhang, Karan Uppal, Yaman Kumar, Rajiv Ratn Shah, Simra Shahid, Laiba Mehnaz, Sarthak Anand
2019 conf
SemEval@NAACL-HLT
Sarthak Anand, Debanjan Mahata, Kartik Aggarwal, Laiba Mehnaz, Simra Shahid, Haimin Zhang, Yaman Kumar, Rajiv Ratn Shah, Karan Uppal
2019 conf
SMM4H@ACL
Debanjan Mahata, Sarthak Anand, Haimin Zhang, Simra Shahid, Laiba Mehnaz, Yaman Kumar, Rajiv Ratn Shah
2019 conf
BigMM
Hitkul, Rajiv Ratn Shah, Ponnurangam Kumaraguru, Shin'ichi Satoh
2019 A* conf
AAAI
Raghav Kapoor, Yaman Kumar, Kshitij Rajput, Rajiv Ratn Shah, Ponnurangam Kumaraguru, Roger Zimmermann
2019 A conf
INTERSPEECH
Nilay Shrivastava, Astitwa Saxena, Yaman Kumar, Rajiv Ratn Shah, Amanda Stent, Debanjan Mahata, Preeti Kaur, Roger Zimmermann
2019 J jnl
CoRR
Nilay Shrivastava, Astitwa Saxena, Yaman Kumar, Preeti Kaur, Rajiv Ratn Shah, Debanjan Mahata
2019 A* conf
ACM Multimedia
Yifang Yin, Meng-Jiun Chiou, Zhenguang Liu, Harsh Shrivastava, Rajiv Ratn Shah, Roger Zimmermann
2019 conf
BigMM
Akash Kumar Gautam, Luv Misra, Ajit Kumar, Kush Misra, Shashwat Aggarwal, Rajiv Ratn Shah
2019 conf
NAACL-HLT (Student Research Workshop)
Rohan Mishra, Pradyumna Prakhar Sinha, Ramit Sawhney, Debanjan Mahata, Puneet Mathur, Rajiv Ratn Shah
2019 conf
NAACL-HLT (Student Research Workshop)
Arijit Ghosh Chowdhury, Ramit Sawhney, Puneet Mathur, Debanjan Mahata, Rajiv Ratn Shah
2019 conf
BigMM
Shivangi Singhal, Rajiv Ratn Shah, Tanmoy Chakraborty, Ponnurangam Kumaraguru, Shin'ichi Satoh
2019 J jnl
CoRR
Sarthak Anand, Debanjan Mahata, Kartik Aggarwal, Laiba Mehnaz, Simra Shahid, Haimin Zhang, Yaman Kumar, Rajiv Ratn Shah, Karan Uppal
2019 conf
BigMM
Himanshu Aggarwal, Rajiv Ratn Shah, Suhua Tang, Feida Zhu
2019 conf
BigMM
Osaid Rehman Nasir, Shailesh Kumar Jha, Manraj Singh Grover, Yi Yu, Ajit Kumar, Rajiv Ratn Shah
2019 J jnl
CoRR
Osaid Rehman Nasir, Shailesh Kumar Jha, Manraj Singh Grover, Yi Yu, Ajit Kumar, Rajiv Ratn Shah
2019 conf
BigMM
Baani Leen Kaur Jolly, Palash Aggrawal, Surabhi S. Nath, Viresh Gupta, Manraj Singh Grover, Rajiv Ratn Shah
2019 J jnl
CoRR
Baani Leen Kaur Jolly, Palash Aggrawal, Surabhi S. Nath, Viresh Gupta, Manraj Singh Grover, Rajiv Ratn Shah
2019 conf
BigMM
Sharan Pai, Nikhil Sachdeva, Rajiv Ratn Shah, Roger Zimmermann
2019 conf
BigMM
Dhruva Sahrawat, Mohit Agarwal, Sanchit Sinha, Aditya Adhikary, Mansi Agarwal, Rajiv Ratn Shah, Roger Zimmermann
2018 J jnl
CoRR
Debanjan Mahata, Jasper Friedrichs, Hitkul, Rajiv Ratn Shah
2018 conf
MIPR
Mayank Meghawat, Satyendra Yadav, Debanjan Mahata, Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2018 J jnl
CoRR
Mayank Meghawat, Satyendra Yadav, Debanjan Mahata, Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2018 conf
WWW (Companion Volume)
Hitkul Jangid, Shivangi Singhal, Rajiv Ratn Shah, Roger Zimmermann
2018 conf
SocialNLP@ACL
Puneet Mathur, Rajiv Ratn Shah, Ramit Sawhney, Debanjan Mahata
2018 J jnl
IEEE Intell. Syst.
Debanjan Mahata, Jasper Friedrichs, Rajiv Ratn Shah, Jing Jiang
2018 conf
ALW
Puneet Mathur, Ramit Sawhney, Meghna Ayyar, Rajiv Ratn Shah
2018 J jnl
CoRR
Debanjan Mahata, Jasper Friedrichs, Rajiv Ratn Shah, Jing Jiang
2018 conf
WASSA@EMNLP
Ramit Sawhney, Prachi Manchanda, Puneet Mathur, Rajiv Ratn Shah, Raj Singh
2018 J jnl
ACM Trans. Spatial Algorithms Syst.
Yifang Yin, Rajiv Ratn Shah, Guanfeng Wang, Roger Zimmermann
2018 conf
FIRE (Working Notes)
Sarthak Anand, Rajat Gupta, Rajiv Ratn Shah, Ponnurangam Kumaraguru
2018 J jnl
IEEE Trans. Veh. Technol.
Omprakash Kaiwartya, Yue Cao, Jaime Lloret, Sushil Kumar, Nauman Aslam, Rupak Kharel, Abdul Hanan Abdullah, Rajiv Ratn Shah
2018 C conf
ISM
Meghna Ayyar, Puneet Mathur, Rajiv Ratn Shah, Shree G. Sharma
2018 A* conf
ACM Multimedia
Yaman Kumar, Mayank Aggarwal, Pratham Nawal, Shin'ichi Satoh, Rajiv Ratn Shah, Roger Zimmermann
2018 C conf
ISM
Yaman Kumar, Agniv Sharma, Abhigyan Khaund, Akash Kumar, Ponnurangam Kumaraguru, Rajiv Ratn Shah, Roger Zimmermann
2018 J jnl
CoRR
Yaman Kumar, Agniv Sharma, Abhigyan Khaund, Akash Kumar, Ponnurangam Kumaraguru, Rajiv Ratn Shah
2018 conf
NAACL-HLT (2)
Debanjan Mahata, John Kuriakose, Rajiv Ratn Shah, Roger Zimmermann
2018 J jnl
CoRR
Nupur Baghel, Yaman Kumar, Paavini Nanda, Rajiv Ratn Shah, Debanjan Mahata, Roger Zimmermann
2018 A* conf
ACM Multimedia
Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2018 J jnl
CoRR
Raghav Kapoor, Yaman Kumar, Kshitij Rajput, Rajiv Ratn Shah, Ponnurangam Kumaraguru, Roger Zimmermann
2018 conf
FIRE (Working Notes)
Deepanshu Gaur, Meghna Ayyar, Ashutosh Kumar Singh, Rajiv Ratn Shah
2018 C conf
ISM
Yaman Kumar, Rohit Jain, Khwaja Mohd. Salik, Rajiv Ratn Shah, Roger Zimmermann, Yifang Yin
2018 conf
FIRE (Working Notes)
Aditya Kumar Pathak, Himanshu Choudhary, Rajiv Ratn Shah
2018 J jnl
CoRR
Yaman Kumar, Mayank Aggarwal, Pratham Nawal, Shin'ichi Satoh, Rajiv Ratn Shah, Roger Zimmermann
2018 conf
MIPR
Debanjan Mahata, Rajiv Ratn Shah, John Kuriakose, Roger Zimmermann, John R. Talburt
2018 J jnl
CoRR
Debanjan Mahata, John Kuriakose, Rajiv Ratn Shah, Roger Zimmermann, John R. Talburt
2018 J jnl
IEEE Internet Things J.
Omprakash Kaiwartya, Abdul Hanan Abdullah, Yue Cao, Jaime Lloret, Sushil Kumar, Rajiv Ratn Shah, Mukesh Prasad, Shiv Prakash
2018 conf
FIRE (Working Notes)
Ayush Gupta, Meghna Ayyar, Ashutosh Kumar Singh, Rajiv Ratn Shah
2017 J jnl
J. Artif. Intell. Soft Comput. Res.
Mukesh Prasad, Yu-Ting Liu, Dong-Lin Li, Chin-Teng Lin, Rajiv Ratn Shah, Om Prakash Kaiwartya
2017 A* conf
ACM Multimedia
Zhenguang Liu, Zepeng Wang, Luming Zhang, Rajiv Ratn Shah, Yingjie Xia, Yi Yang, Xuelong Li
2017 J jnl
Digit. Commun. Networks
Abdul Hanan Abdullah, Mohammad Yazid Bin Idris, Omprakash Kaiwartya, Mukesh Prasad, Rajiv Ratn Shah
2016 conf
IWGS@SIGSPATIAL
Yifang Yin, Rajiv Ratn Shah, Roger Zimmermann
2016 conf
MMCommons @ ACM Multimedia
Rajiv Ratn Shah, Yi Yu, Suhua Tang, Shin'ichi Satoh, Akshay Verma, Roger Zimmermann
2016 J jnl
Knowl. Based Syst.
Rajiv Ratn Shah, Yi Yu, Akshay Verma, Suhua Tang, Anwar Dilawar Shaikh, Roger Zimmermann
2016 B conf
ICMR
Rajiv Ratn Shah
2016 A* conf
ACM Multimedia
Rajiv Ratn Shah
2016 conf
MMM (1)
Rajiv Ratn Shah, Mohamed Hefeeda, Roger Zimmermann, Khaled A. Harras, Cheng-Hsin Hsu, Yi Yu
2016 C conf
ISM
Rajiv Ratn Shah, Anupam Samanta, Deepak Gupta, Yi Yu, Suhua Tang, Roger Zimmermann
2015 A* conf
ACM Multimedia
Rajiv Ratn Shah, Anwar Dilawar Shaikh, Yi Yu, Wenjing Geng, Roger Zimmermann, Gangshan Wu
2015 C conf
ISM
Rajiv Ratn Shah, Yi Yu, Anwar Dilawar Shaikh, Roger Zimmermann
2014 A* conf
ACM Multimedia
Rajiv Ratn Shah, Yi Yu, Roger Zimmermann
2014 A* conf
ACM Multimedia
Rajiv Ratn Shah, Yi Yu, Anwar Dilawar Shaikh, Suhua Tang, Roger Zimmermann
2014 A conf
MMSys
Rajiv Ratn Shah, Yi Yu, Roger Zimmermann
2013 conf
FIRE
Anwar Dilawar Shaikh, Rajiv Ratn Shah, Rahis Shaikh
2011 conf
FIRE
Anwar Dilawar Shaikh, Mukul Jain, Mukul Rawat, Rajiv Ratn Shah, Manoj Kumar
redb/extractors/decompiler/bninja/decompiler.py
← Index redb/extractors/decompiler/bninja/decompiler.py python
import os
import time
import json

from .analysis.medium_level import MediumLevelAnalysis

# disable the plugins set by user for binary ninja
os.environ["BN_DISABLE_USER_PLUGINS"] = "True"
import traceback

# Binary Ninja imports (conditional)
try:
    import binaryninja
    from binaryninja import mainthread, Symbol
    from binaryninja.enums import SymbolType
    BINARYNINJA_AVAILABLE = True
except Exception:
    BINARYNINJA_AVAILABLE = False
    binaryninja = None
    mainthread = None
    Symbol = None
    SymbolType = None

# Support both package and standalone imports
try:
    # Package import (when imported from redb)
    from .utils.hashes import calculate_sha256, calculate_tlsh
    from .utils.license import set_license
    from .utils.logging import setup_default_logger
    from .analysis.strings import StringAnalysis

    # Only import modules that depend on Binary Ninja when available
    if BINARYNINJA_AVAILABLE:
        from .analysis.cfg import CFGAnalysis
        from .analysis.disassembly import DisassemblyAnalysis
        from .analysis.low_level import LowLevelAnalysis
        from .arch.creator import ArchitectureCreator
        from .custom_options import register_custom_analysis_options
        from .function_type import FunctionTypeAnalysis, FunctionType
        from .analysis.scores import ObfuscationScores

except ImportError:
    # Fallback to absolute imports (for multiprocessing spawned processes)
    from redb.extractors.decompiler.bninja.utils.hashes import calculate_sha256, calculate_tlsh
    from redb.extractors.decompiler.bninja.utils.license import set_license
    from redb.extractors.decompiler.bninja.utils.logging import setup_default_logger

    # Only import modules that depend on Binary Ninja when available
    if BINARYNINJA_AVAILABLE:
        from redb.extractors.decompiler.bninja.analysis.cfg import CFGAnalysis
        from redb.extractors.decompiler.bninja.analysis.disassembly import DisassemblyAnalysis
        from redb.extractors.decompiler.bninja.analysis.low_level import LowLevelAnalysis
        from redb.extractors.decompiler.bninja.arch.creator import ArchitectureCreator
        from redb.extractors.decompiler.bninja.custom_options import register_custom_analysis_options
        from redb.extractors.decompiler.bninja.function_type import FunctionTypeAnalysis


class BinaryNinjaDecompiler:
    """A Binary Ninja-based decompiler that replicates the functionality of GhidraDecompilerScript.
    This class extracts decompiled code, disassembly with multiple normalization levels,
    and control flow graph information from binary files.
    """

    MIN_FUNCTION_SIZE = 10  # instructions
    MIN_BLOCK_SIZE = 4  # instructions
    INVALID_STACK_SIZE = -1

    def __init__(
        self,
        filepath,
        timeout,
        log=None,
        exporters=None,
        index_prefix=None,
        filetype=None,
        goresym=None,
        decompile_modules=None,
    ):
        """Initialize the Binary Ninja decompiler.

        Args:
            filepath: Path to the binary file to analyze
            log: Logger object (optional)
            timeout: Maximum time in seconds for analysis (default: 1200)
            exporters: List of exporters for the results (optional)
            index_prefix: Prefix for elastic index (optional)
            filetype: Type of the file (optional)

        """
        self.filepath = filepath
        self.log = log if log else setup_default_logger("BninjaDecompiler")
        self.BNINJA_TIMEOUT = timeout
        self.bv = None
        self.analysis_results = None
        self.errors = []
        self.exporters = exporters
        self.index_prefix = index_prefix
        self.filetype = filetype
        self.goresym = goresym
        self.decompile_modules = decompile_modules or {"all"}

        set_license(binaryninja)

        # Map to track instruction categorization
        mainthread.set_worker_thread_count(3)
        register_custom_analysis_options(binaryninja)

    def log_error(
        self, message, function_name, address, exception=None, error_location="unknown"
    ):
        """Log an error during processing."""
        error_msg = f"Error in function {function_name} at {address}: {message}"
        if exception:
            error_msg += f" - {str(exception)}"

        self.log.error(error_msg)

        # Add to errors list
        error = {
            "function_name": function_name,
            "function_address": str(address),
            "error_location": error_location,
            "error_message": message,
            "error_details": str(exception) if exception else "",
            "error_type": type(exception).__name__ if exception else "Unknown",
            "timestamp": int(time.time() * 1000),
        }
        self.errors.append(error)

    def __enter__(self):
        """Context manager entry point."""
        self.log.info(f"Opening binary file: {self.filepath}")
        binaryninja.BinaryViewType.add_binaryview_initial_analysis_completion_event(
            self.on_analysis_complete
        )

        #self.bv = binaryninja.load(self.filepath, update_analysis=False)
        self.bv = binaryninja.load(self.filepath, update_analysis=True)
        if self.bv is None:
            raise ValueError(f"Failed to open file: {self.filepath}")

        self.log.info("Waiting for analysis to complete...")

        self.log.debug(f"Binja analysis complete: {len(list(self.bv.functions))} functions")

        # set the architecture
        # todo: personalize this for other architectures
        self.arch = ArchitectureCreator("x86").get()

        # apply goresym
        if self.goresym is not None:
            self.__apply_goresym()
        return self

    def on_analysis_complete(self, bv):
        # Request an additional update after analysis is complete to ensure IL generation
        self.bv = bv
        self.bv.update_analysis()

        return

    def __apply_goresym(self):
        file = self.goresym
        data = None
        try:
            data = json.loads(open(file, 'r').read())
        except Exception as e:
            self.log_error(
                "Failed to open file from goresym: ",
                file,
                e,
                "analyze_binary",
            )

        if data is None:
            return

        self.bv.begin_undo_actions()
        if data.get('UserFunctions') is not None:
            user_functions = data['UserFunctions']
            for func in user_functions:
                try:
                    start = int(func['Start'])
                    name = func['FullName']
                    if self.bv.get_function_at(start) is None:
                        self.bv.create_user_function(start)

                    sym = Symbol(SymbolType.FunctionSymbol, start, name, name, name)
                    self.bv.define_user_symbol(sym)
                except Exception as e:
                    self.log.warning(f"Failed to apply GoReSym symbol for UserFunction {func.get('FullName', 'unknown')} at {func.get('Start', 'unknown')}: {e}")

        if data.get('StdFunctions') is not None:
            standard_functions = data['StdFunctions']
            for func in standard_functions:
                try:
                    start = int(func['Start'])
                    name = func['FullName']
                    if self.bv.get_function_at(start) is None:
                        self.bv.create_user_function(start)

                    sym = Symbol(SymbolType.FunctionSymbol, start, name, name, name)
                    self.bv.define_user_symbol(sym)
                except Exception as e:
                    self.log.warning(f"Failed to apply GoReSym symbol for StdFunction {func.get('FullName', 'unknown')} at {func.get('Start', 'unknown')}: {e}")

        self.bv.commit_undo_actions()
        return

    def __exit__(self, exc_type, exc_val, exc_tb):
        """Context manager exit point - clean up resources."""
        if self.bv:
            # Make sure to cancel any pending analysis
            # (if we have no pending analysis, binary ninja will log an error)

            # todo(@nicolo): investigate
            # if hasattr(self.bv, "abort_analysis"):
            #    self.bv.abort_analysis()
            self.bv.file.close()

        self.log.info("Cleanup completed successfully")
        return

    def tag(self):
        """Return the tag for this extractor."""
        return "DECOMPILED"

    def _module_selected(self, module_name):
        """Check if a decompiler sub-module is selected."""
        return "all" in self.decompile_modules or module_name in self.decompile_modules

    def analyze_binary(self):
        """Run Binary Ninja analysis and return results.

        Respects self.decompile_modules to selectively run/skip sub-modules:
        - strings: independent, skipped if not selected
        - decompilation: leaf module, skipped if not selected
        - disassembly: always runs (backbone — provides hash linkage for all others)
        - llil: leaf module, skipped if not selected
        - cfg: leaf module, skipped if not selected

        Only selected modules' results are appended to the results dict for DB insertion.
        Disassembly is always computed for linkage but only inserted when selected.
        """
        try:
            results = {
                "decompiled": [],
                "disassembled": [],
                "cfg": [],
                "llil": [],
                "errors": [],
                "strings": [],
                "mlil": []
            }

            run_all = "all" in self.decompile_modules
            run_strings = run_all or "strings" in self.decompile_modules
            run_decompilation = run_all or "decompilation" in self.decompile_modules
            run_disassembly = run_all or "disassembly" in self.decompile_modules
            run_llil = run_all or "llil" in self.decompile_modules
            run_cfg = run_all or "cfg" in self.decompile_modules

            # Determine if we need the per-function loop at all
            need_per_function = run_decompilation or run_disassembly or run_llil or run_cfg

            #functions_list = list(filter(is_not_ext_lib_function, self.bv.functions))
            functions_list = list(filter(is_lib_or_thunk, self.bv.functions))
            functions_list = list(filter(self.is_too_few_blocks, functions_list))

            # Strings extraction — independent of per-function analysis
            if run_strings:
                results["strings"] = StringAnalysis(self.bv, functions_list).analyze()

            if not need_per_function:
                return results

            for function in functions_list:
                try:
                    # Decompilation (HLIL) — leaf module, skip if not selected
                    hlil_json = self.extract_hlil(function) if run_decompilation else None

                    # Disassembly — always compute (provides hash linkage for others)
                    disass_json = self.extract_disasm(function)

                    # CFG — leaf module, skip if not selected
                    cfg_json = self.extract_cfg(function) if run_cfg else None

                    # LLIL — leaf module, skip if not selected
                    lowlevel_json = self.extract_lowlevel(function) if run_llil else None

                    # we run mlil only if we have cfg
                    mlil_json = self.extract_mediumlevel(function) if run_llil else None

                    # Calculate fuzzy hashes for disassembly using utils.hashes
                    if disass_json:
                        disass_no_addr = disass_json.get("disassembled_function_no_addresses", "")
                        disass_json["tlsh_disassembly"] = calculate_tlsh(disass_no_addr)

                    if hlil_json and disass_json:
                        hlil_json["disassembled_function_hash"] = disass_json[
                            "disassembled_function_hash"
                        ]
                        disass_json["decompiled_function_hash"] = hlil_json[
                            "decompiled_function_hash"
                        ]

                        results["decompiled"].append(hlil_json)
                        if run_disassembly:
                            results["disassembled"].append(disass_json)

                    elif hlil_json:
                        hlil_json["disassembled_function_hash"] = None
                        results["decompiled"].append(hlil_json)
                    elif disass_json:
                        disass_json["decompiled_function_hash"] = None
                        if run_disassembly:
                            results["disassembled"].append(disass_json)

                    # Add bi-directional linkage between LLIL and disassembly with fuzzy hashes
                    # LLIL fuzzy hashes (tlsh_llil) are already calculated in lowlevel_json
                    if lowlevel_json and disass_json:
                        # Add disassembly info to LLIL
                        lowlevel_json["disassembled_function_hash"] = disass_json["disassembled_function_hash"]
                        lowlevel_json["tlsh_disassembly"] = disass_json.get("tlsh_disassembly")

                        # Add LLIL fuzzy hashes to disassembly for easy export access
                        disass_json["tlsh_llil"] = lowlevel_json.get("tlsh_llil")
                        disass_json["minhash"] = lowlevel_json.get("minhash")

                    elif lowlevel_json:
                        lowlevel_json["disassembled_function_hash"] = None
                        lowlevel_json["tlsh_disassembly"] = None
                    elif disass_json:
                        # No LLIL available for this disassembly
                        disass_json["tlsh_llil"] = None
                        disass_json["minhash"] = None

                    if lowlevel_json:
                        results["llil"].append(lowlevel_json)
                        results["mlil"].append(mlil_json)

                    # Add CFG linkage with disassembled_function_hash
                    # Also add cyclomatic_complexity to disass_json for similarity metrics export
                    if cfg_json and disass_json:
                        cfg_json["disassembled_function_hash"] = disass_json["disassembled_function_hash"]
                        disass_json["cyclomatic_complexity"] = cfg_json.get("cyclomatic_complexity")
                        results["cfg"].append(cfg_json)
                    elif cfg_json:
                        cfg_json["disassembled_function_hash"] = None
                        results["cfg"].append(cfg_json)

                    # Ensure cyclomatic_complexity is set even if no cfg_json
                    if disass_json and "cyclomatic_complexity" not in disass_json:
                        disass_json["cyclomatic_complexity"] = None

                except Exception as e:
                    self.log_error(
                        "Failed to process function: ",
                        function.name,
                        function.start,
                        e,
                        "analyze_binary",
                    )

            return results

        except Exception as e:
            self.log.error(f"Error in binary analysis: {str(e)}")
            return None

    def extract_mediumlevel(self, function):
        middle_level = MediumLevelAnalysis(function, self.bv, self.log)
        middle_level_result, errors = middle_level.analyze()

        for error in errors:
            self.errors.append(error)

        return middle_level_result


    def extract_lowlevel(self, function):
        low_level = LowLevelAnalysis(function, self.bv, self.log)
        disassembly_json, errors = low_level.analyze()

        for error in errors:
            self.errors.append(error)

        return disassembly_json

    def extract_cfg(self, function):
        try:
            llil = function.llil if hasattr(function, 'llil') else None
            cfg = CFGAnalysis(function, llil_function=llil).extract_function_cfg()
            return cfg
        except Exception as e:
            self.log_error(
                "Fatal error in CFG extraction",
                function.name,
                function.start,
                e,
                "extract_disassembly",
            )
            return None

    def extract_disasm(self, function):
        try:
            disass_analysis = DisassemblyAnalysis(
                self.arch, function, self.bv, self.log
            )

            # Create disassembly JSON
            disassembly_json, errors = disass_analysis.get_json()

            for error in errors:
                self.errors.append(error)

            return disassembly_json

        except Exception as e:
            self.log_error(
                "Fatal error in disassembly extraction",
                function.name,
                function.start,
                e,
                "extract_disassembly",
            )
            return None

    def extract_hlil(self, function):
        """Extract HLIL from a function."""
        try:
            # Access function.hlil directly - this will either return the HLIL or raise an exception
            # Removed hlil_if_available check as it was causing race conditions
            if function.hlil is None:
                return None

            if len(function.hlil.basic_blocks) == 0:
                return None

            # if function has one basic block, then compare the len of the instructions against minimum of our functions
            if len(function.hlil.basic_blocks) == 1:
                block = function.basic_blocks[0]
                if len(list(block.disassembly_text)) < self.MIN_FUNCTION_SIZE:
                    return None

            # Get decompiled code
            function_prototype = str(function)
            decompiled_code = str(function.hlil)
            if not decompiled_code or decompiled_code.strip() == "":
                self.log.warning(f"Empty decompilation result for {function.name}")
                return None

            callers = []
            for caller_site in function.caller_sites:
                if caller_site.hlil:
                    callers.append(str(caller_site.hlil))

            calls = []
            for call in function.call_sites:
                if call.hlil:
                    calls.append(str(call.hlil))

            analysis_score = ObfuscationScores(function.hlil)
            flattened_score = analysis_score.flattened_score()
            mba_score = analysis_score.MBA_score()

            if decompiled_code:
                # Create json object
                function_json = {
                    "decompiled_function_hash": calculate_sha256(decompiled_code),
                    "decompiled_function": decompiled_code,
                    "decompiled_function_name": function.name,
                    "decompiled_function_prototype": function_prototype,
                    "decompiled_function_address": function.start,
                    "function_type": FunctionTypeAnalysis(function)
                    .get_function_type()
                    .name,
                    "functions_caller": list(callers),
                    "functions_call": list(calls),
                    "flattened_score": flattened_score,
                    "mba_score": mba_score,
                }
                return function_json
            else:
                return None

        except Exception as e:
            self.log.warning(
                f"Failed to get HLIL for {function.name} at {function.start}: {str(e)}"
            )

        return None

    def extract(self) -> bool:
        """Extract and process all analysis results.

        Returns:
            bool: True if extraction was successful, False otherwise

        """
        self.log.info(f"Starting binary analysis on {self.filepath}")
        try:
            results = self.analyze_binary()
            if not results:
                self.log.error("Analysis failed to produce results")
                return False

            self.analysis_results = results
            self.log.info(
                f"Successfully analyzed binary: {len(results['decompiled'])} decompiled functions, "
                f"{len(results['disassembled'])} disassembled functions, "
                #f"{len(results['cfg'])} basic blocks, "
                f"{len(results['errors'])} errors"
            )
            return True

        except Exception as e:
            self.log.error(f"Error in extraction: {str(e)}")
            return False

    def is_too_few_blocks(self, function):
        if function is None:
            return False

        if function.basic_blocks is None:
            return False

        # when binary ninja does not wait for the analysis, it creates function stubs where basic blocks array
        # is not populated yet. Therefore, we disable this heuristic.
        #if len(function.basic_blocks) == 0:
        #    return False

        # if function has one basic block, then compare the len of the instructions against minimum of our functions
        if len(function.basic_blocks) == 1:
            block = function.basic_blocks[0]
            if len(list(block.disassembly_text)) < self.MIN_FUNCTION_SIZE:
                return False

        return True

def is_lib_or_thunk(function):
    function_type = FunctionTypeAnalysis(function).get_function_type()
    return not (function_type == FunctionType.THUNK or function_type == FunctionType.EXTERNAL or function_type == FunctionType.LIBRARY)