James C. Bezdek

236 papers A* 3A 1B 33C 5Misc 2Journal 153Unranked 37
YearRankTypeTitle / Venue / Authors
2026 J jnl
Fuzzy Sets Syst.
James C. Bezdek, Thomas A. Runkler
2024 conf
FUZZ
Omar A. Ibrahim, Jianxi Wang, Marek Z. Reformat, Petr Musilek, James C. Bezdek
2022 J jnl
Inf. Sci.
Yousef Kowsar, Masud Moshtaghi, Eduardo Velloso, James C. Bezdek, Lars Kulik, Christopher Leckie
2022 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Wenlong Wu, James M. Keller, Jeffrey Dale, James C. Bezdek
2021 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Omar A. Ibrahim, James M. Keller, James C. Bezdek
2021 ch.
Fuzzy Approaches for Soft Computing and Approximate Reasoning
Punit Rathore, James C. Bezdek, Marimuthu Palaniswami
2021 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
James C. Bezdek, James M. Keller
2021 J jnl
IEEE Trans. Cybern.
Punit Rathore, Dheeraj Kumar, James C. Bezdek, Sutharshan Rajasegarar, Marimuthu Palaniswami
2020 conf
SPCOM
Dheeraj Kumar, James C. Bezdek
2020 J jnl
CoRR
Punit Rathore, James C. Bezdek, Paolo Santi, Carlo Ratti
2020 B conf
FUZZ-IEEE
Omar A. Ibrahim, James Keller, James C. Bezdek, Mihail Popescu
2020 J jnl
IEEE J. Sel. Areas Commun.
Lingjuan Lyu, James C. Bezdek, Jiong Jin, Yang Yang
2020 J jnl
IEEE Trans. Knowl. Data Eng.
Zahra Ghafoori, Sarah M. Erfani, James C. Bezdek, Shanika Karunasekera, Christopher Leckie
2020 J jnl
CoRR
Wenlong Wu, James M. Keller, Jeffrey Dale, James C. Bezdek
2019 J jnl
IEEE Trans. Knowl. Data Eng.
Punit Rathore, Dheeraj Kumar, James C. Bezdek, Sutharshan Rajasegarar, Marimuthu Palaniswami
2019 J jnl
IEEE Trans. Intell. Transp. Syst.
Punit Rathore, Dheeraj Kumar, Sutharshan Rajasegarar, Marimuthu Palaniswami, James C. Bezdek
2019 J jnl
Inf. Sci.
Tien Thanh Nguyen, Manh Truong Dang, Alan Wee-Chung Liew, James C. Bezdek
2019 J jnl
IEEE Trans. Cybern.
Punit Rathore, Zahra Ghafoori, James C. Bezdek, Marimuthu Palaniswami, Christopher Leckie
2019 conf
SSCI
Shreyasi Datta, James C. Bezdek, Marimuthu Palaniswami
2019 J jnl
IEEE Trans. Ind. Informatics
Lingjuan Lyu, James C. Bezdek, Xuanli He, Jiong Jin
2019 J jnl
IEEE Comput. Intell. Mag.
Enrique H. Ruspini, James C. Bezdek, James M. Keller
2019 J jnl
Int. J. Intell. Syst.
Masud Moshtaghi, James C. Bezdek, Sarah M. Erfani, Christopher Leckie, James Bailey
2019 B conf
EvoApplications
Thomas A. Runkler, James C. Bezdek
2019 conf
BDIOT
Jia Shun Low, Zahra Ghafoori, James C. Bezdek, Christopher Leckie
2019 conf
ECML/PKDD (1)
Zahra Ghafoori, James C. Bezdek, Christopher Leckie, Shanika Karunasekera
2018 J jnl
CoRR
Punit Rathore, Dheeraj Kumar, Sutharshan Rajasegarar, Marimuthu Palaniswami, James C. Bezdek
2018 B conf
FUZZ-IEEE
Omar A. Ibrahim, James M. Keller, James C. Bezdek
2018 B conf
ICPR
Punit Rathore, James C. Bezdek, Dheeraj Kumar, Sutharshan Rajasegarar, Marimuthu Palaniswami
2018 J jnl
Int. J. Uncertain. Fuzziness Knowl. Based Syst.
Dheeraj Kumar, Zahra Ghafoori, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao, Marimuthu Palaniswami
2018 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek, James M. Keller, Nikhil R. Pal, Chin-Teng Lin, Jonathan M. Garibaldi
2018 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Zahra Ghafoori, Sarah M. Erfani, Sutharshan Rajasegarar, James C. Bezdek, Shanika Karunasekera, Christopher Leckie
2018 J jnl
IEEE Trans. Fuzzy Syst.
Punit Rathore, James C. Bezdek, Sarah M. Erfani, Sutharshan Rajasegarar, Marimuthu Palaniswami
2018 B conf
SMC
Punit Rathore, Zahra Ghafoori, James C. Bezdek, Marimuthu Palaniswami, Christopher Leckie
2018 J jnl
CoRR
Masud Moshtaghi, James C. Bezdek, Sarah M. Erfani, Christopher Leckie, James Bailey
2018 J jnl
Data Knowl. Eng.
Lingjuan Lyu, James C. Bezdek, Yee Wei Law, Xuanli He, Marimuthu Palaniswami
2018 conf
ECML/PKDD (3)
Masoomeh Zameni, Mengyi He, Masud Moshtaghi, Zahra Ghafoori, Christopher Leckie, James C. Bezdek, Kotagiri Ramamohanarao
2017 J jnl
Vis. Comput.
Dheeraj Kumar, James C. Bezdek, Sutharshan Rajasegarar, Christopher Leckie, Marimuthu Palaniswami
2017 J jnl
CoRR
Tien Thanh Nguyen, Thi Thu Thuy Nguyen, Xuan Cuong Pham, Alan Wee-Chung Liew, James C. Bezdek
2017 J jnl
Int. J. Intell. Syst.
Masud Moshtaghi, Sarah M. Erfani, Christopher Leckie, James C. Bezdek
2017 J jnl
IEEE Trans. Fuzzy Syst.
Yang Lei, James C. Bezdek, Jeffrey Chan, Xuan Vinh Nguyen, Simone Romano, James Bailey
2017 A* conf
ICDE
Mahsa Salehi, Christopher Leckie, James C. Bezdek, Tharshan Vaithianathan, Xuyun Zhang
2017 B conf
FUZZ-IEEE
Fateme Fahiman, James C. Bezdek, Sarah M. Erfani, Marimuthu Palaniswami, Christopher Leckie
2017 J jnl
Pattern Recognit.
Yang Lei, James C. Bezdek, Simone Romano, Xuan Vinh Nguyen, Jeffrey Chan, James Bailey
2016 J jnl
IEEE Trans. Cybern.
Dheeraj Kumar, James C. Bezdek, Marimuthu Palaniswami, Sutharshan Rajasegarar, Christopher Leckie, Timothy Craig Havens
2016 J jnl
ACM Trans. Knowl. Discov. Data
Dheeraj Kumar, James C. Bezdek, Sutharshan Rajasegarar, Marimuthu Palaniswami, Christopher Leckie, Jeffrey Chan, Jayavardhana Gubbi
2016 J jnl
IEEE Trans. Knowl. Data Eng.
Mahsa Salehi, Christopher Leckie, James C. Bezdek, Tharshan Vaithianathan, Xuyun Zhang
2016 J jnl
CoRR
Fateme Fahiman, James C. Bezdek, Sarah M. Erfani, Christopher Leckie, Marimuthu Palaniswami
2016 J jnl
CoRR
Yang Lei, James C. Bezdek, Simone Romano, Xuan Vinh Nguyen, Jeffrey Chan, James Bailey
2016 A conf
SDM
Masud Moshtaghi, Christopher Leckie, James C. Bezdek
2016 conf
BHI
Akshay Jain, James M. Keller, James C. Bezdek
2016 B conf
IJCNN
James C. Bezdek, Xiuyi Ye, Mihail Popescu, James Keller, Alina Zare
2016 conf
Australasian Conference on Artificial Intelligence
Mahsa Salehi, Xuyun Zhang, James C. Bezdek, Christopher Leckie
2016 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek, Masud Moshtaghi, Thomas A. Runkler, Christopher Leckie
2016 J jnl
IEEE Trans. Knowl. Data Eng.
Laurence Anthony F. Park, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao, James Bailey, Marimuthu Palaniswami
2015 J jnl
IEEE Trans. Fuzzy Syst.
Masud Moshtaghi, James C. Bezdek, Christopher Leckie, Shanika Karunasekera, Marimuthu Palaniswami
2015 conf
ISSNIP
Mahsa Salehi, Christopher Leckie, James C. Bezdek, Tharshan Vaithianathan
2015 B conf
FUZZ-IEEE
Mihail Popescu, James Keller, James C. Bezdek, Alina Zare
2015 B conf
FUZZ-IEEE
James C. Bezdek, Didier Dubois, Henri Prade
2014 C conf
CIDM
Yang Lei, James C. Bezdek, Jeffrey Chan, Xuan Vinh Nguyen, Simone Romano, James Bailey
2014 J jnl
IEEE Trans. Geosci. Remote. Sens.
Sutharshan Rajasegarar, Timothy C. Havens, Shanika Karunasekera, Christopher Leckie, James C. Bezdek, Milan Jamriska, Ajith Gunatilaka, Alex Skvortsov, Marimuthu Palaniswami
2014 J jnl
Pattern Recognit.
Mohammed Khalilia, James C. Bezdek, Mihail Popescu, James M. Keller
2014 J jnl
IEEE Trans. Fuzzy Syst.
Anna Wilbik, James M. Keller, James C. Bezdek
2014 B conf
IEEE Congress on Evolutionary Computation
Thomas A. Runkler, James C. Bezdek
2014 J jnl
Wirel. Commun. Mob. Comput.
Masud Moshtaghi, James C. Bezdek, Timothy C. Havens, Christopher Leckie, Shanika Karunasekera, Sutharshan Rajasegarar, Marimuthu Palaniswami
2013 J jnl
IEEE Trans. Cybern.
Mihail Popescu, James C. Bezdek, Timothy C. Havens, James M. Keller
2013 J jnl
IEEE Trans. Fuzzy Syst.
Timothy C. Havens, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao, Marimuthu Palaniswami
2013 B conf
FUZZ-IEEE
Timothy C. Havens, James C. Bezdek, Christopher Leckie, Jeffrey Chan, Wei Liu, James Bailey, Kotagiri Ramamohanarao, Marimuthu Palaniswami
2013 B conf
FUZZ-IEEE
Timothy C. Havens, James C. Bezdek, Christopher Leckie, Marimuthu Palaniswami
2013 conf
ISSNIP
Timothy C. Havens, James C. Bezdek, Marimuthu Palaniswami
2013 conf
On Fuzziness (1)
James C. Bezdek
2013 B conf
SMC
Thomas A. Runkler, James C. Bezdek
2013 conf
IEEE BigData
Dheeraj Kumar, Marimuthu Palaniswami, Sutharshan Rajasegarar, Christopher Leckie, James C. Bezdek, Timothy C. Havens
2012 J jnl
Int. J. Intell. Syst.
Timothy C. Havens, James C. Bezdek
2012 J jnl
IEEE Trans. Knowl. Data Eng.
Timothy C. Havens, James C. Bezdek
2012 B conf
FUZZ-IEEE
Timothy C. Havens, James C. Bezdek, Marimuthu Palaniswami
2012 B conf
FUZZ-IEEE
Jonathon K. Parker, Lawrence O. Hall, James C. Bezdek
2012 J jnl
IEEE Trans. Fuzzy Syst.
Timothy C. Havens, James C. Bezdek, Christopher Leckie, Lawrence O. Hall, Marimuthu Palaniswami
2012 B conf
FUZZ-IEEE
Anna Wilbik, James M. Keller, James C. Bezdek
2012 B conf
IJCNN
Sutharshan Rajasegarar, James C. Bezdek, Masud Moshtaghi, Christopher Leckie, Timothy C. Havens, Marimuthu Palaniswami
2011 J jnl
IEEE Comput. Intell. Mag.
James C. Bezdek, Sutharshan Rajasegarar, Masud Moshtaghi, Christopher Leckie, Marimuthu Palaniswami, Timothy C. Havens
2011 J jnl
Pattern Recognit.
Liang Wang, Christopher Leckie, Kotagiri Ramamohanarao, James C. Bezdek
2011 J jnl
Pattern Recognit.
Masud Moshtaghi, Timothy C. Havens, James C. Bezdek, Laurence Anthony F. Park, Christopher Leckie, Sutharshan Rajasegarar, James M. Keller, Marimuthu Palaniswami
2011 B conf
FUZZ-IEEE
Derek T. Anderson, James M. Keller, Ozy Sjahputera, James C. Bezdek, Mihail Popescu
2011 B conf
SMC
Mihail Popescu, James M. Keller, James C. Bezdek, Timothy C. Havens
2011 J jnl
Scholarpedia
James C. Bezdek
2011 A* conf
ICDM
Masud Moshtaghi, Christopher Leckie, Shanika Karunasekera, James C. Bezdek, Sutharshan Rajasegarar, Marimuthu Palaniswami
2010 conf
IJCCI (ICFC-ICNC)
James C. Bezdek
2010 conf
IPMU (1)
Derek T. Anderson, James C. Bezdek, James M. Keller, Mihail Popescu
2010 conf
ICAISC (1)
Timothy C. Havens, James C. Bezdek, James M. Keller
2010 B conf
FUZZ-IEEE
Isaac J. Sledge, James C. Bezdek, Timothy C. Havens, James M. Keller
2010 J jnl
IEEE Trans. Inf. Forensics Secur.
Sutharshan Rajasegarar, Christopher Leckie, James C. Bezdek, Marimuthu Palaniswami
2010 B conf
FUZZ-IEEE
James C. Bezdek, Timothy C. Havens, James M. Keller, Christopher Leckie, Laurence Anthony F. Park
2010 J jnl
IEEE Trans. Fuzzy Syst.
Derek T. Anderson, James C. Bezdek, Mihail Popescu, James M. Keller
2010 Misc conf
ADC
Shaoyi Zhang, Kotagiri Ramamohanarao, James C. Bezdek
2010 J jnl
IEEE Trans. Knowl. Data Eng.
Liang Wang, Xin Geng, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao
2010 conf
IJCCI (Selected Papers)
Timothy C. Havens, James C. Bezdek, Marimuthu Palaniswami
2010 J jnl
IEEE Trans. Fuzzy Syst.
Isaac J. Sledge, Timothy C. Havens, James C. Bezdek, James M. Keller
2010 J jnl
IEEE Trans. Fuzzy Syst.
Isaac J. Sledge, James C. Bezdek, Timothy C. Havens, James M. Keller
2010 conf
PAKDD (1)
Liang Wang, Uyen T. V. Nguyen, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao
2009 conf
Australasian Conference on Artificial Intelligence
Laurence Anthony F. Park, Christopher Leckie, Kotagiri Ramamohanarao, James C. Bezdek
2009 B conf
PAKDD
Liang Wang, Christopher Leckie, Kotagiri Ramamohanarao, James C. Bezdek
2009 J jnl
IEEE Trans. Knowl. Data Eng.
Liang Wang, Christopher Leckie, Kotagiri Ramamohanarao, James C. Bezdek
2009 J jnl
Int. J. Intell. Syst.
Timothy C. Havens, James C. Bezdek, James M. Keller, Mihail Popescu
2009 J jnl
ACM Trans. Sens. Networks
Sutharshan Rajasegarar, James C. Bezdek, Christopher Leckie, Marimuthu Palaniswami
2009 J jnl
Soft Comput.
Isaac J. Sledge, Timothy C. Havens, Jacalyn M. Huband, James C. Bezdek, James M. Keller
2009 J jnl
Ann. Math. Artif. Intell.
Timothy C. Havens, James C. Bezdek, James M. Keller, Mihail Popescu, Jacalyn M. Huband
2009 conf
ICARA
Laurence Anthony F. Park, James C. Bezdek, Christopher Leckie
2009 B conf
FUZZ-IEEE
Mihail Popescu, James C. Bezdek, James M. Keller
2008 conf
FSKD (1)
Isaac J. Sledge, Jacalyn M. Huband, James C. Bezdek
2008 B conf
FUZZ-IEEE
Mihail Popescu, James C. Bezdek, James M. Keller, Timothy C. Havens, Jacalyn M. Huband
2008 B conf
ICPR
Timothy C. Havens, James C. Bezdek, James M. Keller, Mihail Popescu
2008 J jnl
IEEE Comput. Intell. Mag.
James C. Bezdek
2008 B conf
FUZZ-IEEE
Timothy C. Havens, James M. Keller, Mihail Popescu, James C. Bezdek
2008 J jnl
Int. J. Intell. Syst.
Liang Wang, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao
2008 A* conf
ICDM
Liang Wang, Xin Geng, James C. Bezdek, Christopher Leckie, Kotagiri Ramamohanarao
2008 conf
WCCI
Jacalyn M. Huband, James C. Bezdek
2007 conf
ICC
Sutharshan Rajasegarar, Christopher Leckie, Marimuthu Palaniswami, James C. Bezdek
2007 conf
ICDM Workshops
Liang Wang, Christopher Leckie, Xiaozhe Wang, Kotagiri Ramamohanarao, James C. Bezdek
2007 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek, Richard J. Hathaway, Jacalyn M. Huband
2006 J jnl
Int. J. Intell. Syst.
James C. Bezdek, Richard J. Hathaway, Jacalyn M. Huband, Christopher Leckie, Kotagiri Ramamohanarao
2006 Misc conf
ADC
James C. Bezdek, Richard J. Hathaway, Christopher Leckie, Kotagiri Ramamohanarao
2006 J jnl
Comput. Stat. Data Anal.
Richard J. Hathaway, James C. Bezdek
2006 J jnl
Int. J. Uncertain. Fuzziness Knowl. Based Syst.
James M. Keller, James C. Bezdek, Mihail Popescu, Nikhil R. Pal, Joyce A. Mitchell, Jacalyn M. Huband
2006 C conf
CIARP
Richard J. Hathaway, James C. Bezdek, Jacalyn M. Huband
2006 J jnl
Pattern Recognit.
Richard J. Hathaway, James C. Bezdek, Jacalyn M. Huband
2005 B conf
FUZZ-IEEE
James C. Bezdek, Raghu Krishnapuram, N. Pa
2005 J jnl
IEEE Trans. Fuzzy Syst.
Nikhil R. Pal, Kuhu Pal, James M. Keller, James C. Bezdek
2005 J jnl
Neural Parallel Sci. Comput.
Nikhil R. Pal, James M. Keller, Mihail Popescu, James C. Bezdek, Joyce A. Mitchell, Jacalyn M. Huband
2005 B conf
FUZZ-IEEE
Richard J. Hathaway, Jacalyn M. Huband, James C. Bezdek
2005 J jnl
Neural Parallel Sci. Comput.
Richard J. Hathaway, James C. Bezdek, Jacalyn M. Huband
2005 J jnl
Int. J. Intell. Syst.
Kuhu Pal, Nikhil R. Pal, James M. Keller, James C. Bezdek
2005 conf
EUSFLAT Conf.
James C. Bezdek
2005 J jnl
Pattern Recognit.
Jacalyn M. Huband, James C. Bezdek, Richard J. Hathaway
2004 B conf
FUZZ-IEEE
Nikhil R. Pal, Kuhu Pal, James M. Keller, James C. Bezdek
2004 B conf
FUZZ-IEEE
James C. Bezdek, Richard J. Hathaway
2003 J jnl
Neural Parallel Sci. Comput.
James C. Bezdek, Richard J. Hathaway
2003 B conf
FUZZ-IEEE
James C. Bezdek, Richard J. Hathaway
2003 J jnl
Pattern Recognit. Lett.
Richard J. Hathaway, James C. Bezdek
2003 J jnl
Int. J. Approx. Reason.
Thomas A. Runkler, James C. Bezdek
2002 J jnl
Pattern Recognit. Lett.
Richard J. Hathaway, James C. Bezdek
2002 J jnl
IEEE Trans. Syst. Man Cybern. Part B
Nikhil R. Pal, James C. Bezdek
2002 conf
PRIS
James C. Bezdek, Richard J. Hathaway
2002 conf
Advances in Computational Intelligence and Learning
James C. Bezdek, Nikhil R. Pal, Thomas A. Runkler, Kuhu Pal
2002 conf
AFSS
James C. Bezdek, Richard J. Hathaway
2002 J jnl
IEEE Trans. Fuzzy Syst.
Richard Buse, Zhi-Qiang Liu, James C. Bezdek
2001 J jnl
IEEE Trans. Fuzzy Syst.
Nikhil R. Pal, Tobias C. Cahoon, James C. Bezdek, Kuhu Pal
2001 J jnl
Pattern Recognit.
Ludmila Kuncheva, James C. Bezdek, Robert P. W. Duin
2001 J jnl
J. Intell. Fuzzy Syst.
David DeKruger, Jesse Hodge, James C. Bezdek, James M. Keller, Paul D. Gader
2001 J jnl
IEEE Trans. Syst. Man Cybern. Part B
Zhi-Qiang Liu, Leonard T. Bruton, James C. Bezdek, James M. Keller, Sandy Dance, N. R. Bartley, Cishen Zhang
2001 J jnl
IEEE Trans. Syst. Man Cybern. Part B
Richard J. Hathaway, James C. Bezdek
2001 J jnl
Neural Parallel Sci. Comput.
Richard J. Hathaway, Yingkang Hu, James C. Bezdek
2001 J jnl
Int. J. Intell. Syst.
James C. Bezdek, Ludmila Kuncheva
2000 B conf
FUZZ-IEEE
Thomas A. Runkler, James C. Bezdek
2000 B conf
FUZZ-IEEE
Tobias Christian Cahoon, Melanie A. Sutton, James C. Bezdek
2000 J jnl
IEEE Trans. Fuzzy Syst.
Richard J. Hathaway, James C. Bezdek, Yingkang Hu
2000 conf
SSPR/SPR
James C. Bezdek, Ludmila Kuncheva
1999 J jnl
IEEE Trans. Fuzzy Syst.
Thomas A. Runkler, James C. Bezdek
1999 J jnl
IEEE Trans. Evol. Comput.
Lawrence O. Hall, Ibrahim Burak Özyurt, James C. Bezdek
1999 J jnl
Fuzzy Sets Syst.
Thomas A. Runkler, James C. Bezdek
1999 J jnl
IEEE Trans. Neural Networks
Ludmila I. Kuncheva, James C. Bezdek
1999 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek, James M. Keller, Raghu Krishnapuram, Ludmila I. Kuncheva, Nikhil R. Pal
1998 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek, Ramachandran Chandrasekhar, Yianni Attikouzel
1998 J jnl
Int. J. Uncertain. Fuzziness Knowl. Based Syst.
Ludmila I. Kuncheva, James C. Bezdek
1998 J jnl
IEEE Trans. Syst. Man Cybern. Part C
James C. Bezdek, Thomas Reichherzer, Sok Gek Lim, Yianni Attikiouzel
1998 J jnl
IEEE Trans. Syst. Man Cybern. Part C
Ludmila I. Kuncheva, James C. Bezdek
1998 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Amine Bensaid, James C. Bezdek
1998 J jnl
IEEE Trans. Syst. Man Cybern. Part B
James C. Bezdek, Nikhil R. Pal
1998 J jnl
IEEE Trans. Fuzzy Syst.
Witold Pedrycz, James C. Bezdek, Richard J. Hathaway, G. Wesley Rogers
1997 J jnl
Soft Comput.
James C. Bezdek, Wanqing Li, Yianni Attikiouzel, Michael P. Windham
1997 J jnl
IEEE Trans. Fuzzy Syst.
Nicolaos B. Karayiannis, James C. Bezdek
1997 J jnl
IEEE Trans. Fuzzy Syst.
Nikhil R. Pal, James C. Bezdek
1997 conf
ICNN
Nikhil R. Pal, Kuhu Pal, James C. Bezdek, Thomas A. Runkler
1997 J jnl
Fuzzy Sets Syst.
Rohan Hemasinha, Nikhil R. Pal, James C. Bezdek
1996 J jnl
IEEE Trans. Fuzzy Syst.
Richard J. Hathaway, James C. Bezdek, Witold Pedrycz
1996 J jnl
Pattern Recognit. Lett.
Richard J. Hathaway, James C. Bezdek, John W. Davenport
1996 J jnl
Pattern Recognit.
Amine Bensaid, Lawrence O. Hall, James C. Bezdek, Laurence P. Clarke
1996 J jnl
IEEE Trans. Neural Networks
Nicolaos B. Karayiannis, James C. Bezdek, Nikhil R. Pal, Richard J. Hathaway, Pin-I Pai
1996 J jnl
Neural Networks
Nikhil R. Pal, James C. Bezdek, Richard J. Hathaway
1996 J jnl
IEEE Trans. Fuzzy Syst.
Amine Bensaid, Lawrence O. Hall, James C. Bezdek, Laurence P. Clarke, Martin L. Silbiger, John A. Arrington, F. Reed Murtagh
1995 J jnl
IEEE Trans. Neural Networks
James C. Bezdek, Nikhil R. Pal
1995 conf
ICNN
James C. Bezdek, Richard J. Hathaway, Witold Pedrycz
1995 J jnl
Pattern Recognit.
James C. Bezdek, Nikhil R. Pal
1995 conf
ANNES
James C. Bezdek, Nikhil R. Pal
1995 J jnl
Knowl. Based Syst.
James C. Bezdek
1995 J jnl
Neural Parallel Sci. Comput.
James C. Bezdek, Richard J. Hathaway, Nikhil R. Pal
1995 J jnl
IEEE Trans. Fuzzy Syst.
Nikhil R. Pal, James C. Bezdek
1995 J jnl
IEEE Trans. Fuzzy Syst.
Richard J. Hathaway, James C. Bezdek
1995 conf
ICNN
James C. Bezdek, Richard J. Hathaway, Nikhil R. Pal
1995 J jnl
Neural Networks
James C. Bezdek, Nikhil R. Pal
1994 J jnl
Neural Parallel Sci. Comput.
Richard J. Hathaway, James C. Bezdek
1994 J jnl
Pattern Recognit.
Eric Chen-Kuo Tsao, James C. Bezdek, Nikhil R. Pal
1994 conf
International Conference on Evolutionary Computation
James C. Bezdek, Srinivas Boggavarapu, Lawrence O. Hall, Amine Bensaid
1994 J jnl
IEEE Trans. Fuzzy Syst.
Nikhil R. Pal, James C. Bezdek
1994 J jnl
Pattern Recognit.
Richard J. Hathaway, James C. Bezdek
1994 conf
International Conference on Evolutionary Computation
James C. Bezdek, Richard J. Hathaway
1994 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek
1993 J jnl
J. Intell. Fuzzy Syst.
James C. Bezdek
1993 J jnl
IEEE Trans. Fuzzy Syst.
James C. Bezdek
1993 J jnl
IEEE Trans. Neural Networks
Nikhil R. Pal, James C. Bezdek, Eric Chen-Kuo Tsao
1993 J jnl
IEEE Trans. Fuzzy Syst.
Richard J. Hathaway, James C. Bezdek
1993 J jnl
Int. J. Approx. Reason.
Nikhil R. Pal, James C. Bezdek, Rohan Hemasinha
1992 J jnl
IEEE Trans. Neural Networks
Lawrence O. Hall, Amine Bensaid, Laurence P. Clarke, Robert P. Velthuizen, Martin L. Silbiger, James C. Bezdek
1992 J jnl
IEEE Commun. Mag.
James C. Bezdek
1992 J jnl
IEEE Trans. Neural Networks
James C. Bezdek, Richard J. Hathaway
1992 J jnl
Int. J. Approx. Reason.
James C. Bezdek
1992 J jnl
Int. J. Approx. Reason.
Nikhil R. Pal, James C. Bezdek, Rohan Hemasinha
1991 J jnl
IEEE Trans. Syst. Man Cybern.
Leon Bobrowski, James C. Bezdek
1990 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Gautam Biswas, Xudong Yu, William J. Hagins, James C. Bezdek, John Strobel, Christopher G. St. C. Kendall, Robert L. Cannon
1990 J jnl
Pattern Recognit.
Taehwan Kim, James C. Bezdek, Richard J. Hathaway
1989 J jnl
IEEE Trans. Syst. Man Cybern.
Wen-Ran Zhang, Su-shing Chen, James C. Bezdek
1989 J jnl
Pattern Recognit.
Richard J. Hathaway, John W. Davenport, James C. Bezdek
1988 C conf
ISMIS
Gautam Biswas, James C. Bezdek
1988 conf
ICNN
James S. J. Lee, James C. Bezdek
1988 J jnl
Comput. Vis. Graph. Image Process.
James C. Bezdek, Er-Woon Chiou
1988 J jnl
Comput. Vis. Graph. Image Process.
Sridhar Vasudevan, Robert L. Cannon, James C. Bezdek, William L. Cameron
1988 J jnl
Pattern Recognit.
Taehwan Kim, James C. Bezdek, Richard J. Hathaway
1987 J jnl
Int. J. Approx. Reason.
James C. Bezdek
1987 J jnl
J. Am. Soc. Inf. Sci.
Gautam Biswas, James C. Bezdek, Marisol Marques, Viswanath Subramanian
1987 J jnl
J. Am. Soc. Inf. Sci.
Gautam Biswas, James C. Bezdek, Viswanath Subramanian, Marisol Marques
1987 C conf
ISMIS
Miao-Li Pai, Gautam Biswas, Christopher G. St. C. Kendall, James C. Bezdek
1986 C conf
ISMIS
Gautam Biswas, James C. Bezdek, Robert L. Oakman
1986 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Robert L. Cannon, Jitendra V. Dave, James C. Bezdek
1986 J jnl
Pattern Recognit.
Richard J. Hathaway, James C. Bezdek
1986 J jnl
IEEE Trans. Syst. Man Cybern.
Mohan M. Trivedi, James C. Bezdek
1986 J jnl
Int. J. Man Mach. Stud.
James C. Bezdek, Gautam Biswas, Li-ya Huang
1985 conf
CAIA
Gautam Biswas, Viswanath Subramanian, James C. Bezdek
1985 J jnl
IEEE Trans. Syst. Man Cybern.
James C. Bezdek, Ian M. Anderson
1985 J jnl
Pattern Recognit. Lett.
James C. Bezdek, Richard J. Hathaway, Vicki J. Huggins
1984 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Ian M. Anderson, James C. Bezdek
1983 J jnl
Int. J. Man Mach. Stud.
James C. Bezdek
1981 book
James C. Bezdek
1980 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
James C. Bezdek
1980 J jnl
Int. J. Parallel Program.
James C. Bezdek, Michael P. Windham, Robert Ehrlich
1977 J jnl
IEEE Trans. Syst. Man Cybern.
James C. Bezdek, Patrick F. Castelaz
1976 conf
AFIPS National Computer Conference
James C. Bezdek
1975 J jnl
IEEE Trans. Computers
James C. Bezdek, Joseph C. Dunn
docs/new-code-binja-schema.md
← Index docs/new-code-binja-schema.md markdown
#################################
###### CODE RELATED TABLES ######
#################################

### CREATE FULL REDB DATABASE
def create_decompiled_binja_with_all_tables(client):
    create_phase1_decompiled_binja_tables(client)

#### CREATE FULL TABLES
def create_phase1_decompiled_binja_tables(client):
    create_function_analysis_error_dbtable(client)
    create_binja_decompiled_dbtable(client)
    create_binja_disassembly_dbtable(client)
    create_binja_cfg_dbtable(client)

#################################
### DECOMPILED BINJA INDIVIDUAL TABLES
#################################
def create_function_analysis_error_dbtable(client):
    client.command("""
    CREATE TABLE IF NOT EXISTS function_analysis_errors_binja (
        sha256 FixedString(64),
        function_name Nullable(String) CODEC(ZSTD(3)),
        function_address UInt64,
        error_location LowCardinality(String) CODEC(ZSTD(3)),
        error_message Nullable(String) CODEC(ZSTD(3)),
        error_details Nullable(String) CODEC(ZSTD(3)),
        error_type Nullable(String) CODEC(ZSTD(3)),
        error_hash FixedString(32), -- MD5, To help identify duplicate errors
        status Enum8('new' = 1, 'investigating' = 2, 'fixed' = 3, 'wontfix' = 4) DEFAULT 'new',
        analysis_date DateTime64(3, 'UTC'),
        PRIMARY KEY (sha256, function_address, error_location)
    )
    ENGINE = MergeTree()
    ORDER BY (sha256, function_address, error_location);
    """)

def create_binja_decompiled_dbtable(client):
    # Create decompiled_functions_content table
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_decompiled_functions_content (
        decompiled_function_hash FixedString(64),
        decompiled_function String CODEC(ZSTD(3)),
        decompiled_function_lower String MATERIALIZED lower(decompiled_function) CODEC(ZSTD(3)),
        function_type Enum8('USER'=1, 'LIBRARY'=2, 'THUNK'=3, 'EXTERNAL'=4, 'UNKNOWN'=5) DEFAULT 'UNKNOWN',  -- NOT NULL TODO: remove THUNK and EXTERNAL
        flattened_score Nullable(Float64),
        mba_score Nullable(Float64),
        analysis_date DateTime64(3, 'UTC'),

        INDEX idx_function_content_token lower(decompiled_function) TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 1,
        --- INDEX idx_text_decompiled_function decompiled_function TYPE text(tokenizer = 'splitByNonAlpha', preprocessor = lower(decompiled_function)) GRANULARITY 64,
        INDEX idx_func_hash decompiled_function_hash TYPE bloom_filter GRANULARITY 1,
    ) ENGINE = ReplacingMergeTree(analysis_date)
    PRIMARY KEY decompiled_function_hash -- TODO: remove is redundant
    ORDER BY decompiled_function_hash;
    """)

    # Create decompiled_functions_references table
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_decompiled_functions_references (
        sha256 FixedString(64),
        sha1 FixedString(40),
        md5 FixedString(32),
        decompiled_function_hash FixedString(64),
        disassembled_function_hash Nullable(FixedString(64)),
        decompiled_function_name LowCardinality(String),
        decompiled_function_prototype LowCardinality(String),
        decompiled_function_address UInt64,
        functions_caller Array(String),
        functions_call Array(String),

        INDEX idx_sha256 sha256 TYPE bloom_filter GRANULARITY 1,
        INDEX idx_func_hash decompiled_function_hash TYPE bloom_filter GRANULARITY 1,
        INDEX idx_func_name decompiled_function_name TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 1,
        INDEX idx_func_addr decompiled_function_address TYPE minmax GRANULARITY 1,
        analysis_date DateTime64(3, 'UTC')
    ) ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY (sha256, decompiled_function_hash);
    """)

def create_binja_disassembly_dbtable(client):
    # Create disassembly_functions_content table
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_disassembled_functions_content (
        -- Content hashes for each normalization level
        disassembled_function_hash FixedString(64),             -- This is the hash of the disassembled function without addresses
        
        -- The actual function content at different normalization levels
        disassembled_function String CODEC(ZSTD(3)),
        disassembled_function_no_addresses String CODEC(ZSTD(3)),

        -- Function 
        function_type Enum8('USER'=1, 'LIBRARY'=2, 'THUNK'=3, 'EXTERNAL'=4, 'UNKNOWN'=5) DEFAULT 'UNKNOWN',  -- NOT NULL TODO: remove THUNK and EXTERNAL

        -- Analysis fields
        instructions_count UInt32,
        instructions_types Array(LowCardinality(String)), -- Types of instructions used
        control_flow_count UInt32,                      -- Number of control flow instructions
        memory_access_pattern Array(LowCardinality(String)),  -- Patterns of memory access
        register_usage Array(LowCardinality(String)),         -- Types of registers used
        data_references_count UInt32,                   -- Number of data references
        opcode_frequency_vector Array(Float32),-- Not computed yet
        api_calls_vector Array(Float32),-- Not computed yet
        minhash_signature Array(UInt64),-- Not computed yet
        max_block_size Nullable(UInt32),
        num_calls Nullable(UInt32),
        stack_size Nullable(Int32),
        instruction_type_ratios Array(Float32), -- Not computed yet
        instruction_embedding Array(Float32), -- Not computed yet
        analysis_date DateTime64(3, 'UTC'),

        -- Indexes for each normalization level
        INDEX idx_disasm_ngram disassembled_function TYPE ngrambf_v1(3, 32768, 3, 0) GRANULARITY 1,
        INDEX idx_function_type function_type TYPE set(10) GRANULARITY 1,
        INDEX idx_instr_count instructions_count TYPE minmax GRANULARITY 4

    ) ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY (disassembled_function_hash);
    """)

    client.command("""
    CREATE TABLE code_binja_disassembled_functions_references
    (
        -- Original fields
        sha256 FixedString(64),
        sha1 FixedString(40),
        md5 FixedString(32),
        disassembled_function_hash FixedString(64),
        decompiled_function_hash Nullable(FixedString(64)),

        disassembled_function_name LowCardinality(String),
        disassembled_function_address UInt64,
        analysis_date DateTime64(3, 'UTC'),
        
        -- New hash fields moved from content table
        ssdeep_disassembly Nullable(String),
        tlsh_disassembly Nullable(FixedString(72)),
        ssdeep_llil Nullable(String),
        tlsh_llil Nullable(FixedString(72)),
        
        -- OPTIMIZED INDEXES for all search patterns
        INDEX idx_func_addr disassembled_function_address TYPE minmax GRANULARITY 1,
        INDEX idx_sha256 sha256 TYPE bloom_filter GRANULARITY 1,
        INDEX idx_tlsh_disasm tlsh_disassembly TYPE bloom_filter GRANULARITY 1,
        INDEX idx_ssdeep_disasm ssdeep_disassembly TYPE bloom_filter GRANULARITY 1,
        INDEX idx_tlsh_llil tlsh_llil TYPE bloom_filter GRANULARITY 1,
        INDEX idx_ssdeep_norm ssdeep_llil TYPE bloom_filter GRANULARITY 1,
        INDEX idx_func_name disassembled_function_name TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 2
    )
    ENGINE = ReplacingMergeTree(analysis_date)
    -- OPTIMIZED ORDER BY: Primary query pattern first, then hash fields for locality
    ORDER BY (sha256, disassembled_function_hash)
    SETTINGS index_granularity = 8192
    """)

def create_binja_llil_dbtable(client):
    # Create llil_functions_content table
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_llil_functions_content (
        -- Content hashes for each normalization level
        llil_function_hash FixedString(64),             -- sha256_llil This is the hash of the disassembled function without addresses

        -- Function 
        function_type Enum8('USER'=1, 'LIBRARY'=2, 'THUNK'=3, 'EXTERNAL'=4, 'UNKNOWN'=5) DEFAULT 'UNKNOWN',  -- NOT NULL TODO: remove THUNK and EXTERNAL

        -- Analysis fields
        instructions_types_llil Array(LowCardinality(String)), -- Types of instructions used
        control_flow_count_llil UInt32,                      -- Number of control flow instructions
        memory_access_pattern_llil Array(LowCardinality(String)),  -- Patterns of memory access
        register_usage_llil Map(LowCardinality(String), Tuple(UInt32, UInt32)),         -- Types of registers used
        total_reg_reads UInt32,
        total_reg_written UInt32,
        data_references_count UInt32,                   -- Number of data references
        max_block_size Nullable(UInt32),
        num_calls Nullable(UInt32),
        stack_size Nullable(Int32),
        body_llil_vector Array(Tuple(UInt32, Array(UInt16))),
        analysis_date DateTime64(3, 'UTC'),

        -- Indexes for each normalization level
        INDEX function_type_idx function_type TYPE set(10) GRANULARITY 1,
        INDEX idx_reg_usage mapKeys(register_usage_llil) TYPE bloom_filter(0.01) GRANULARITY 1

    ) ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY llil_function_hash;
    """)

    client.command("""
    CREATE TABLE code_binja_llil_functions_references
    (
        -- Original fields
        sha256 FixedString(64),
        sha1 FixedString(40),
        md5 FixedString(32),
        llil_function_hash Nullable(FixedString(64)),
        disassembled_function_hash FixedString(64),
        
        -- New hash fields moved from content table
        ssdeep_disassembly Nullable(String),
        tlsh_disassembly Nullable(FixedString(72)),
        ssdeep_llil Nullable(String),
        tlsh_llil Nullable(FixedString(72)),

        analysis_date DateTime64(3, 'UTC'),
        
        -- OPTIMIZED INDEXES for all search patterns
        INDEX idx_sha256 sha256 TYPE bloom_filter GRANULARITY 1,
        INDEX idx_tlsh_disasm tlsh_disassembly TYPE bloom_filter GRANULARITY 1,
        INDEX idx_ssdeep_disasm ssdeep_disassembly TYPE bloom_filter GRANULARITY 1,
        INDEX idx_tlsh_llil tlsh_llil TYPE bloom_filter GRANULARITY 1,
        INDEX idx_ssdeep_llil ssdeep_llil TYPE bloom_filter GRANULARITY 1,
    )
    ENGINE = ReplacingMergeTree(analysis_date)
    -- OPTIMIZED ORDER BY: Primary query pattern first, then hash fields for locality
    ORDER BY (sha256, function_address)
    SETTINGS index_granularity = 8192
    """)

def create_binja_cfg_dbtable(client):
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_cfg_blocks_content (
        block_instructions_hash FixedString(64), -- PK
        block_size UInt32,
        instructions_count UInt16,
        branch_type Enum8('DIRECT'=1, 'CONDITIONAL'=2, 'CALL'=3, 'RETURN'=4, 'FALLTHROUGH'=5, 'INDIRECT'=6, 'UNKNOWN'=7),
        block_type Enum8('CODE'=1, 'DATA'=2, 'THUNK'=3),
        flags Array(String),
        analysis_date DateTime64(3, 'UTC'),

        -- Indexes for filtering/analysis
        INDEX idx_branch_type branch_type TYPE set(10) GRANULARITY 4,
        INDEX idx_block_type block_type TYPE set(5) GRANULARITY 4,
        INDEX idx_instr_count instructions_count TYPE minmax GRANULARITY 4,
        INDEX idx_block_size block_size TYPE minmax GRANULARITY 4
    )
    ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY (block_instructions_hash);
    """)
  
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_cfg_blocks_references (
        sha256 FixedString(64),
        sha1 FixedString(40),
        md5 FixedString(32),
        block_instructions_hash FixedString(64),
        disassembled_function_hash FixedString(64),
        
        -- Address information (for CFG traversal and debugging)
        function_address UInt64,
        block_start_address UInt64,
        block_end_address UInt64,
        
        -- CFG structure (addresses refer to block_start_address)
        predecessor_blocks Array(UInt64),
        successor_blocks Array(UInt64),
        depth UInt16,
        position UInt32,
        
        -- Dominator analysis
        dominators Array(UInt16),
        post_dominators Array(UInt16),
        
        analysis_date DateTime64(3, 'UTC'),
        
        -- OPTIMIZED INDEXES based on query patterns
        INDEX idx_sha256 sha256 TYPE bloom_filter GRANULARITY 1,
        INDEX idx_block_hash block_instructions_hash TYPE bloom_filter GRANULARITY 1,
        INDEX idx_func_hash disassembled_function_hash TYPE bloom_filter GRANULARITY 1,
        INDEX idx_func_addr function_address TYPE minmax GRANULARITY 1,
        INDEX idx_block_start block_start_address TYPE minmax GRANULARITY 1,
        INDEX idx_depth depth TYPE minmax GRANULARITY 4,
        INDEX idx_position position TYPE minmax GRANULARITY 4
    )
    ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY (sha256, function_address, block_start_address)
    SETTINGS index_granularity = 8192;
    """)

def create_binja_strings_dbtable(client):
    # 1. Raw table - INSERT target
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_strings_raw (
        sha256 FixedString(64),
        string String CODEC(ZSTD(3)),              -- Decoded UTF-8 string (for searching)
        string_raw String CODEC(ZSTD(3)),          -- Raw bytes from binary (ground truth)
        string_encoding LowCardinality(String),    -- Detected/guessed encoding by binja
        string_offset UInt64,
        string_length UInt32,                      -- Length of decoded string
        string_raw_length UInt32,                  -- Length of raw bytes
        string_entropy Float32
    )
    ENGINE = Null;
    """)
   
    # 3a. Target table for reverse lookup (with indexes)
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_strings_by_binary (
        sha256 FixedString(64),
        string_offset UInt64,
        string String CODEC(ZSTD(3)),
        string_raw String CODEC(ZSTD(3)),
        string_encoding LowCardinality(String),
        string_length UInt32,
        string_raw_length UInt32,
        string_entropy Float32,
        
        INDEX idx_sha256 sha256 TYPE bloom_filter GRANULARITY 1,
        INDEX idx_string_ngram lower(string) TYPE ngrambf_v1(3, 32768, 3, 0) GRANULARITY 1,
        --- INDEX idx_string string TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 1,
        --- INDEX idx_string_raw string_raw TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 1,
        INDEX idx_entropy string_entropy TYPE minmax GRANULARITY 4
    )
    ENGINE = ReplacingMergeTree()
    ORDER BY (sha256, string_offset);
    """)
    
    # 3b. Materialized view -> target table
    client.command("""
    CREATE MATERIALIZED VIEW IF NOT EXISTS code_binja_strings_by_binary_mv
    TO code_binja_strings_by_binary
    AS SELECT
        sha256,
        string_offset,
        string,
        string_raw,
        string_encoding,
        string_length,
        string_raw_length,
        string_entropy
    FROM code_binja_strings_raw;
    """)

    client.command("""
    -- 1. Create the new public-only popularity table
    CREATE TABLE mv_string_popularity_public_table (
        string_xxhash64 UInt64,
        sample_count AggregateFunction(uniq, FixedString(64))
    ) ENGINE = AggregatingMergeTree()
    ORDER BY string_xxhash64;
    """)

    client.command("""
    -- 2. Create the MV for new data going forward
    CREATE MATERIALIZED VIEW mv_string_popularity_public
    TO mv_string_popularity_public_table AS
    SELECT
        xxHash64(s.string) AS string_xxhash64,
        uniqState(s.sha256) AS sample_count
    FROM code_binja_strings_raw s
    INNER JOIN catalog_visibility_lookup_v2 v 
        ON s.sha256 = v.sha256 AND v.visibility_scope = 'public'
    GROUP BY string_xxhash64;
    """)

    # client.command("""
    # INSERT INTO mv_string_popularity_public_table
    # SELECT
    #     xxHash64(s.string) AS string_xxhash64,
    #     uniqState(s.sha256) AS sample_count
    # FROM code_binja_strings_by_binary s
    # INNER JOIN catalog_visibility_lookup_v2 v 
    #     ON s.sha256 = v.sha256 AND v.visibility_scope = 'public'
    # GROUP BY string_xxhash64;
    # """)

def create_binja_function_similarity_metrics_dbtable(client):
    client.command("""
    CREATE TABLE IF NOT EXISTS code_binja_function_similarity_metrics (
        disassembled_function_hash FixedString(64),
        
        -- Complexity metrics
        cyclomatic_complexity Nullable(UInt16),
        
        -- Fuzzy hashes (duplicated from reference tables for performance)
        ssdeep_disassembly Nullable(String),
        tlsh_disassembly Nullable(FixedString(72)),
        ssdeep_llil Nullable(String),
        tlsh_llil Nullable(FixedString(72)),
        
        -- Similarity hashes
        minhash Array(UInt8),
        
        analysis_date DateTime64(3, 'UTC'),
        
        -- Indexes
        INDEX idx_complexity cyclomatic_complexity TYPE minmax GRANULARITY 4,
        INDEX idx_ssdeep_disasm ssdeep_disassembly TYPE bloom_filter GRANULARITY 1,
        INDEX idx_tlsh_disasm tlsh_disassembly TYPE bloom_filter GRANULARITY 1,
        INDEX idx_ssdeep_llil ssdeep_llil TYPE bloom_filter GRANULARITY 1,
        INDEX idx_tlsh_llil tlsh_llil TYPE bloom_filter GRANULARITY 1
    )
    ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY disassembled_function_hash;
    """)

def create_golang_metadata_dbtable(client):
    client.command("""
    CREATE TABLE IF NOT EXISTS redb_golang_metadata (
        sha256 FixedString(64),
        goresym JSON,
        analysis_date DateTime64(3, 'UTC')
    ) ENGINE = ReplacingMergeTree(analysis_date)
    ORDER BY sha256
    """)