Malgorzata Marek-Sadowska

244 papers A* 40A 43C 19Misc 2Journal 71Unranked 67
YearRankTypeTitle / Venue / Authors
2023 conf
ISPD
Malgorzata Marek-Sadowska
2019 conf
ACM Great Lakes Symposium on VLSI
Ali Abbasinasab, Malgorzata Marek-Sadowska
2018 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Ping-Lin Yang, Malgorzata Marek-Sadowska
2018 A* conf
DAC
Ali Abbasinasab, Malgorzata Marek-Sadowska
2016 C conf
ICCD
Ping-Lin Yang, Malgorzata Marek-Sadowska
2016 conf
ISQED
Zhong Guan, Malgorzata Marek-Sadowska
2016 A conf
ICCAD
Zhong Guan, Malgorzata Marek-Sadowska
2016 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Zhong Guan, Malgorzata Marek-Sadowska
2016 A conf
ICCAD
Ping-Lin Yang, Malgorzata Marek-Sadowska
2015 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Di-An Li, Malgorzata Marek-Sadowska, Sani R. Nassif
2015 conf
ISPD
Ali Abbasinasab, Malgorzata Marek-Sadowska
2015 conf
ISPD
Li-C. Wang, Malgorzata Marek-Sadowska
2015 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Di-An Li, Malgorzata Marek-Sadowska, Sani R. Nassif
2015 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Xiang Qiu, Malgorzata Marek-Sadowska, Wojciech P. Maly
2014 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Xiang Qiu, Malgorzata Marek-Sadowska, Wojciech P. Maly
2014 conf
ISQED
Di-An Li, Malgorzata Marek-Sadowska
2014 J jnl
IEEE Comput. Archit. Lett.
Vivek S. Nandakumar, Malgorzata Marek-Sadowska
2014 conf
ISQED
Zhong Guan, Malgorzata Marek-Sadowska, Sani R. Nassif
2014 A* conf
DAC
Vivek S. Nandakumar, Malgorzata Marek-Sadowska
2013 conf
ISPD
Xiang Qiu, Malgorzata Marek-Sadowska, Wojciech Maly
2013 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Xiang Qiu, Malgorzata Marek-Sadowska
2013 conf
ISQED
Zhong Guan, Malgorzata Marek-Sadowska, Sani R. Nassif
2012 J jnl
IEEE J. Emerg. Sel. Topics Circuits Syst.
Vivek S. Nandakumar, Malgorzata Marek-Sadowska
2012 A* conf
DAC
Xiang Qiu, Malgorzata Marek-Sadowska
2012 conf
ISQED
Jen-Yi Wuu, Mark Simmons, Malgorzata Marek-Sadowska
2012 conf
ISQED
Xiang Qiu, Malgorzata Marek-Sadowska, Wojciech Maly
2011 A* conf
DAC
Vivek S. Nandakumar, Malgorzata Marek-Sadowska
2011 C conf
ICCD
Vivek S. Nandakumar, Malgorzata Marek-Sadowska
2011 conf
ISQED
Jen-Yi Wuu, Fedor G. Pikus, Malgorzata Marek-Sadowska
2011 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Yi-Wei Lin, Malgorzata Marek-Sadowska, Wojciech Maly
2011 conf
ISPD
Malgorzata Marek-Sadowska
2011 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Yu-Shih Su, Da-Chung Wang, Shih-Chieh Chang, Malgorzata Marek-Sadowska
2011 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Aida Todri, Malgorzata Marek-Sadowska
2011 conf
ASP-DAC
Jen-Yi Wuu, Fedor G. Pikus, Andres J. Torres, Malgorzata Marek-Sadowska
2011 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Aida Todri, Malgorzata Marek-Sadowska
2011 A conf
ICCAD
Di-An Li, Malgorzata Marek-Sadowska
2010 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Yi-Wei Lin, Malgorzata Marek-Sadowska, Wojciech Maly
2010 conf
SLIP
Di-An Li, Malgorzata Marek-Sadowska, Bill Lee
2010 conf
ISPD
Yi-Wei Lin, Malgorzata Marek-Sadowska, Wojciech Maly
2010 conf
ISQED
Vivek S. Nandakumar, David Newmark, Yaping Zhan, Malgorzata Marek-Sadowska
2009 conf
ISQED
Aida Todri, Malgorzata Marek-Sadowska, Francois Maire, Christophe Matheron
2009 A conf
ISLPED
Aida Todri, Malgorzata Marek-Sadowska
2009 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Yu-Min Kuo, Ya-Ting Chang, Shih-Chieh Chang, Malgorzata Marek-Sadowska
2009 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Vishal J. Mehta, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2009 conf
ISPD
Yi-Wei Lin, Malgorzata Marek-Sadowska, Wojciech Maly
2008 C conf
ICCD
Aida Todri, Malgorzata Marek-Sadowska
2008 C conf
ICCD
Nilesh Modi, Malgorzata Marek-Sadowska
2008 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Vishal J. Mehta, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2008 C conf
ICCD
Yi-Wei Lin, Malgorzata Marek-Sadowska, Wojciech Maly, Andrzej Pfitzner, Dominik Kasprowicz
2008 A* conf
DAC
Hailin Jiang, Malgorzata Marek-Sadowska
2008 A conf
ICCAD
Aida Todri, Malgorzata Marek-Sadowska, Joseph N. Kozhaya
2008 C conf
ICCD
Shih-Hung Weng, Yu-Min Kuo, Shih-Chieh Chang, Malgorzata Marek-Sadowska
2008 conf
ISQED
Vishal J. Mehta, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2007 A* conf
DAC
Yu-Shih Su, Da-Chung Wang, Shih-Chieh Chang, Malgorzata Marek-Sadowska
2007 A conf
ICCAD
Aida Todri, Malgorzata Marek-Sadowska, Shih-Chieh Chang
2007 A conf
ISLPED
Aida Todri, Shih-Chieh Chang, Malgorzata Marek-Sadowska
2007 A conf
ICCAD
Yu-Min Kuo, Ya-Ting Chang, Shih-Chieh Chang, Malgorzata Marek-Sadowska
2007 A* conf
DAC
Wojciech Maly, Yi-Wei Lin, Malgorzata Marek-Sadowska
2007 conf
ISQED
Hailin Jiang, Malgorzata Marek-Sadowska
2007 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2007 ch.
Modern Circuit Placement
Bo Hu, Malgorzata Marek-Sadowska
2006 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Zhiyuan Wang, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2006 conf
ISQED
Chung-Kuan Tsai, Malgorzata Marek-Sadowska
2006 conf
ISQED
Vishal J. Mehta, Malgorzata Marek-Sadowska, Zhiyuan Wang, Kun-Han Tsai, Janusz Rajski
2006 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Yajun Ran, Malgorzata Marek-Sadowska
2006 C conf
ICCD
Hailin Jiang, Malgorzata Marek-Sadowska
2006 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Qinghua Liu, Malgorzata Marek-Sadowska
2006 A conf
ITC
Vishal J. Mehta, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2006 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Yajun Ran, Malgorzata Marek-Sadowska
2005 conf
ACM Great Lakes Symposium on VLSI
Qinghua Liu, Malgorzata Marek-Sadowska
2005 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Qinghua Liu, Malgorzata Marek-Sadowska
2005 conf
ISQED
Chung-Kuan Tsai, Malgorzata Marek-Sadowska
2005 C conf
ICCD
Hailin Jiang, Malgorzata Marek-Sadowska, Sani R. Nassif
2005 conf
ACM Great Lakes Symposium on VLSI
Hailin Jiang, Kai Wang, Malgorzata Marek-Sadowska
2005 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Zhiyuan Wang, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2005 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Yajun Ran, Alex Kondratyev, Kenneth H. Tseng, Yosinori Watanabe, Malgorzata Marek-Sadowska
2005 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Kai Wang, Yajun Ran, Hailin Jiang, Malgorzata Marek-Sadowska
2005 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Bo Hu, Malgorzata Marek-Sadowska
2005 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Kai Wang, Malgorzata Marek-Sadowska
2005 C conf
ICCD
Qinghua Liu, Malgorzata Marek-Sadowska
2005 A conf
FPGA
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2005 A conf
ICCAD
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2005 A conf
ICCAD
Yajun Ran, Malgorzata Marek-Sadowska
2005 conf
ISPD
Qinghua Liu, Malgorzata Marek-Sadowska
2005 conf
ISPD
Bo Hu, Yue Zeng, Malgorzata Marek-Sadowska
2004 conf
ISPD
Qinghua Liu, Malgorzata Marek-Sadowska
2004 A conf
ICCAD
Yajun Ran, Malgorzata Marek-Sadowska
2004 A* conf
DAC
Kai Wang, Malgorzata Marek-Sadowska
2004 conf
ISPD
Kai Wang, Malgorzata Marek-Sadowska
2004 conf
ISQED
Zhiyuan Wang, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2004 conf
CICC
Yajun Ran, Malgorzata Marek-Sadowska
2004 C conf
ICCD
Zhiyuan Wang, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2004 A conf
DATE
Yajun Ran, Alex Kondratyev, Yosinori Watanabe, Malgorzata Marek-Sadowska
2004 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chih-Wei Jim Chang, Ming-Fu Hsiao, Bo Hu, Kai Wang, Malgorzata Marek-Sadowska, Chung-Kuan Cheng, Sao-Jie Chen
2004 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Bo Hu, Malgorzata Marek-Sadowska
2004 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Qinghua Liu, Bo Hu, Malgorzata Marek-Sadowska
2004 A conf
ICCAD
Bo Hu, Malgorzata Marek-Sadowska
2004 A* conf
DAC
Yajun Ran, Malgorzata Marek-Sadowska
2004 J jnl
IEEE Trans. Computers
Luca Macchiarulo, Shih-Min Shu, Malgorzata Marek-Sadowska
2004 C conf
ICCD
Kai Wang, Malgorzata Marek-Sadowska
2004 A* conf
DAC
Qinghua Liu, Malgorzata Marek-Sadowska
2004 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2004 C conf
ICCD
Yajun Ran, Malgorzata Marek-Sadowska
2003 conf
ISCAS (5)
Ming-Fu Hsiao, Malgorzata Marek-Sadowska, Sao-Jie Chen
2003 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chih-Wei Jim Chang, Ming-Fu Hsiao, Malgorzata Marek-Sadowska
2003 A conf
ITC
Zhiyuan Wang, Kun-Han Tsai, Malgorzata Marek-Sadowska, Janusz Rajski
2003 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Lauren Hui Chen, Malgorzata Marek-Sadowska, Forrest Brewer
2003 J jnl
IEEE Des. Test Comput.
Arindam Mukherjee, Malgorzata Marek-Sadowska
2003 A* conf
DAC
Yajun Ran, Malgorzata Marek-Sadowska
2003 A* conf
DAC
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2003 conf
ISPD
Bo Hu, Malgorzata Marek-Sadowska
2003 A* conf
DAC
Bo Hu, Yosinori Watanabe, Alex Kondratyev, Malgorzata Marek-Sadowska
2003 conf
ISQED
Ming-Fu Hsiao, Malgorzata Marek-Sadowska, Sao-Jie Chen
2003 conf
ISCAS (5)
Ming-Fu Hsiao, Malgorzata Marek-Sadowska, Sao-Jie Chen
2003 A conf
ICCAD
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2003 conf
ISQED
Chung-Kuan Tsai, Malgorzata Marek-Sadowska
2003 C conf
ICCD
Zhiyuan Wang, Malgorzata Marek-Sadowska, Kun-Han Tsai, Janusz Rajski
2003 A* conf
DAC
Kai Wang, Malgorzata Marek-Sadowska
2003 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Amit Singh, Arindam Mukherjee, Luca Macchiarulo, Malgorzata Marek-Sadowska
2003 A conf
DATE
Kai Wang, Malgorzata Marek-Sadowska
2003 conf
SLIP
Chao-Yang Yeh, Malgorzata Marek-Sadowska
2003 conf
ISPD
Bo Hu, Hailin Jiang, Qinghua Liu, Malgorzata Marek-Sadowska
2003 A* conf
DAC
Donald Chai, Alex Kondratyev, Yajun Ran, Kenneth H. Tseng, Yosinori Watanabe, Malgorzata Marek-Sadowska
2003 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Arindam Mukherjee, Malgorzata Marek-Sadowska
2003 A* conf
DAC
Bo Hu, Malgorzata Marek-Sadowska
2003 conf
SLIP
Qinghua Liu, Bo Hu, Malgorzata Marek-Sadowska
2002 A conf
ICCAD
Chih-Wei Jim Chang, Malgorzata Marek-Sadowska
2002 A conf
DATE
Lauren Hui Chen, Malgorzata Marek-Sadowska
2002 A conf
ICCAD
Bo Hu, Malgorzata Marek-Sadowska
2002 A* conf
DAC
Lauren Hui Chen, Malgorzata Marek-Sadowska, Forrest Brewer
2002 conf
ISQED
Lauren Hui Chen, Malgorzata Marek-Sadowska
2002 A conf
FPGA
Amit Singh, Malgorzata Marek-Sadowska
2002 J jnl
ACM Trans. Design Autom. Electr. Syst.
Amit Singh, Ganapathy Parthasarathy, Malgorzata Marek-Sadowska
2002 conf
ISPD
Bo Hu, Malgorzata Marek-Sadowska
2002 conf
SLIP
Amit Singh, Malgorzata Marek-Sadowska
2002 conf
ISPD
Lauren Hui Chen, Malgorzata Marek-Sadowska
2002 A conf
DATE
Arindam Mukherjee, Kai Wang, Lauren Hui Chen, Malgorzata Marek-Sadowska
2002 J jnl
VLSI Design
Tong Xiao, Malgorzata Marek-Sadowska
2001 C conf
DSD
Nobuo Funabiki, Amit Singh, Arindam Mukherjee, Malgorzata Marek-Sadowska
2001 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Lauren Hui Chen, Malgorzata Marek-Sadowska
2001 A* conf
DAC
Tong Xiao, Malgorzata Marek-Sadowska
2001 C conf
ICCD
Tong Xiao, Malgorzata Marek-Sadowska
2001 A conf
DATE
Chih-Wei Jim Chang, Bo Hu, Malgorzata Marek-Sadowska
2001 A conf
ICCAD
Amit Singh, Ganapathy Parthasarathy, Malgorzata Marek-Sadowska
2001 conf
SLIP
Ganapathy Parthasarathy, Malgorzata Marek-Sadowska, Arindam Mukherjee, Amit Singh
2001 A conf
FPGA
Amit Singh, Arindam Mukherjee, Malgorzata Marek-Sadowska
2001 A* conf
DAC
Amit Singh, Arindam Mukherjee, Malgorzata Marek-Sadowska
2001 A* conf
DAC
Chih-Wei Jim Chang, Kai Wang, Malgorzata Marek-Sadowska
2001 A conf
ICCAD
Chih-Wei Jim Chang, Malgorzata Marek-Sadowska
2001 conf
ACM Great Lakes Symposium on VLSI
Chih-Wei Jim Chang, Malgorzata Marek-Sadowska
2000 A conf
FPGA
Amit Singh, Luca Macchiarulo, Arindam Mukherjee, Malgorzata Marek-Sadowska
2000 conf
ISPD
Lauren Hui Chen, Malgorzata Marek-Sadowska
2000 conf
ISQED
Tong Xiao, Malgorzata Marek-Sadowska
2000 A* conf
DAC
Chih-Wei Jim Chang, Chung-Kuan Cheng, Peter Suaris, Malgorzata Marek-Sadowska
2000 J jnl
IEEE Trans. Computers
Yu-Liang Wu, Hongbing Fan, Malgorzata Marek-Sadowska, C. K. Wong
2000 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Kun-Han Tsai, Janusz Rajski, Malgorzata Marek-Sadowska
2000 A conf
DATE
Luca Macchiarulo, Shih-Ming Shu, Malgorzata Marek-Sadowska
2000 A* conf
DAC
Luca Macchiarulo, Malgorzata Marek-Sadowska
2000 C conf
ICCD
Tong Xiao, Malgorzata Marek-Sadowska
1999 J jnl
IEEE Trans. Computers
Shih-Chieh Chang, Lukas P. P. P. van Ginneken, Malgorzata Marek-Sadowska
1999 conf
ISPD
Amit Singh, Malgorzata Marek-Sadowska
1999 conf
ASP-DAC
Tong Xiao, Malgorzata Marek-Sadowska
1999 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Ashok Vittal, Lauren Hui Chen, Malgorzata Marek-Sadowska, Kai-Ping Wang, Sherry Yang
1999 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chih-Chang Lin, Kuang-Chien Chen, Malgorzata Marek-Sadowska
1999 Misc conf
VLSI Design
Ashok Vittal, Lauren Hui Chen, Malgorzata Marek-Sadowska, Kai-Ping Wang, Sherry Yang
1999 J jnl
IEEE Trans. Computers
Douglas Chang, Malgorzata Marek-Sadowska
1999 A conf
ITC
Kuo-Hui Tsai, Tompson, Janusz Rajski, Malgorzata Marek-Sadowska
1999 A* conf
DAC
Arindam Mukherjee, Ranganathan Sudhakar, Malgorzata Marek-Sadowska, Stephen I. Long
1999 conf
CICC
Arindam Mukherjee, Malgorzata Marek-Sadowska, Stephen I. Long
1998 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
David Ihsin Cheng, Kwang-Ting Cheng, Deborah C. Wang, Malgorzata Marek-Sadowska
1998 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chih-Chang Lin, Malgorzata Marek-Sadowska, Mike Tien-Chien Lee, Kuang-Chien Chen
1998 A conf
DATE
Douglas Chang, Kwang-Ting Cheng, Malgorzata Marek-Sadowska, Mike Tien-Chien Lee
1998 A conf
FPGA
Douglas Chang, Malgorzata Marek-Sadowska
1998 J jnl
VLSI Design
Ashok Vittal, Malgorzata Marek-Sadowska
1998 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chih-Chang Lin, Malgorzata Marek-Sadowska, Kwang-Ting Cheng, Mike Tien-Chien Lee
1997 A* conf
DAC
Douglas Chang, Mike Tien-Chien Lee, Malgorzata Marek-Sadowska, Takashi Aikyo, Kwang-Ting Cheng
1997 J jnl
IEEE Trans. Computers
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1997 A conf
FPGA
Douglas Chang, Malgorzata Marek-Sadowska
1997 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Ashok Vittal, Malgorzata Marek-Sadowska
1997 conf
ISMVL
Stan Grygiel, Marek A. Perkowski, Malgorzata Marek-Sadowska, Tadeusz Luba, Lech Józwiak
1997 conf
ISMVL
Marek A. Perkowski, Malgorzata Marek-Sadowska, Lech Józwiak, Tadeusz Luba, Stan Grygiel, Miroslawa Nowicka, Rahul Malvi, Zhi Wang, Jin S. Zhang
1997 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Ashok Vittal, Malgorzata Marek-Sadowska
1997 conf
ASP-DAC
Yu-Liang Wu, Douglas Chang, Malgorzata Marek-Sadowska, Shuji Tsukiyama
1997 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Chih-Chang Lin, Malgorzata Marek-Sadowska
1997 A* conf
DAC
Yi-Min Jiang, Angela Krstic, Kwang-Ting Cheng, Malgorzata Marek-Sadowska
1997 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Shih-Chieh Chang, Kwang-Ting Cheng, Nam Sung Woo, Malgorzata Marek-Sadowska
1997 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Yu-Liang Wu, Malgorzata Marek-Sadowska
1997 A* conf
DAC
Kun-Han Tsai, Sybille Hellebrand, Janusz Rajski, Malgorzata Marek-Sadowska
1997 A conf
ITC
Kun-Han Tsai, Malgorzata Marek-Sadowska, Janusz Rajski
1996 A* conf
DAC
David Ihsin Cheng, Kwang-Ting Cheng, Deborah C. Wang, Malgorzata Marek-Sadowska
1996 A conf
ICCAD
Ashok Vittal, Hein Ha, Forrest Brewer, Malgorzata Marek-Sadowska
1996 A conf
ICCAD
Shih-Chieh Chang, Lukas P. P. P. van Ginneken, Malgorzata Marek-Sadowska
1996 J jnl
IEEE Trans. Computers
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1996 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Yu-Liang Wu, Shuji Tsukiyama, Malgorzata Marek-Sadowska
1996 conf
Great Lakes Symposium on VLSI
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1996 A* conf
DAC
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1996 conf
ED&TC
Shih-Chieh Chang, Malgorzata Marek-Sadowska
1996 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Shih-Chieh Chang, Malgorzata Marek-Sadowska, Kwang-Ting Cheng
1996 conf
ED&TC
Chih-Chang Lin, Malgorzata Marek-Sadowska, Kuang-Chien Chen, Mike Tien-Chien Lee
1996 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Shih-Chieh Chang, Malgorzata Marek-Sadowska, TingTing Hwang
1996 A* conf
DAC
Chih-Chang Lin, Malgorzata Marek-Sadowska, Kwang-Ting Cheng, Mike Tien-Chien Lee
1995 A* conf
DAC
Shih-Chieh Chang, Malgorzata Marek-Sadowska, Kwang-Ting Cheng
1995 A conf
ICCAD
David Ihsin Cheng, Chih-Chang Lin, Malgorzata Marek-Sadowska
1995 A conf
ICCAD
Chih-Chang Lin, Mike Tien-Chien Lee, Malgorzata Marek-Sadowska, Kuang-Chien Chen
1995 A* conf
DAC
Chih-Chang Lin, Kuang-Chien Chen, Shih-Chieh Chang, Malgorzata Marek-Sadowska, Kwang-Ting Cheng
1995 conf
ASP-DAC
Chih-Chang Lin, David Ihsin Cheng, Malgorzata Marek-Sadowska, Kuang-Chien Chen
1995 A* conf
DAC
Yu-Liang Wu, Malgorzata Marek-Sadowska
1995 A* conf
DAC
Ashok Vittal, Malgorzata Marek-Sadowska
1995 A* conf
DAC
Ashok Vittal, Malgorzata Marek-Sadowska
1995 conf
ASP-DAC
Yu-Liang Wu, Malgorzata Marek-Sadowska
1995 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Malgorzata Marek-Sadowska, Majid Sarrafzadeh
1994 conf
EDAC-ETC-EUROASIC
Yu-Liang Wu, Malgorzata Marek-Sadowska
1994 A* conf
DAC
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1994 C conf
ISCAS
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1994 A* conf
DAC
Shih-Chieh Chang, Kwang-Ting Cheng, Nam Sung Woo, Malgorzata Marek-Sadowska
1994 A* conf
DAC
Ashok Vittal, Malgorzata Marek-Sadowska
1994 conf
EDAC-ETC-EUROASIC
Shih-Chieh Chang, David Ihsin Cheng, Malgorzata Marek-Sadowska
1994 conf
Great Lakes Symposium on VLSI
Yu-Liang Wu, Shuji Tsukiyama, Malgorzata Marek-Sadowska
1994 J jnl
J. Circuits Syst. Comput.
David Ihsin Cheng, Malgorzata Marek-Sadowska
1994 A conf
ICCAD
Shih-Chieh Chang, Malgorzata Marek-Sadowska
1994 A conf
ICCAD
Chih-Chang Lin, Malgorzata Marek-Sadowska, Duane Gatlin
1993 conf
Great Lakes Symposium on VLSI
Chien-Chung Tsai, Malgorzata Marek-Sadowska
1993 conf
EURO-DAC
Yu-Liang Wu, Malgorzata Marek-Sadowska
1993 ch.
Algorithmic Aspects of VLSI Layout
Malgorzata Marek-Sadowska
1993 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Shen Lin, Ernest S. Kuh, Malgorzata Marek-Sadowska
1992 Misc conf
VLSI Design
Shen Lin, Ernest S. Kuh, Malgorzata Marek-Sadowska
1992 J jnl
J. Circuits Syst. Comput.
Robi Dutta, Malgorzata Marek-Sadowska
1992 J jnl
Integr.
Malgorzata Marek-Sadowska
1992 C conf
ICCD
Shih-Chieh Chang, Malgorzata Marek-Sadowska
1991 conf
EURO-DAC
Shen Lin, Malgorzata Marek-Sadowska
1991 conf
EURO-DAC
Shen Lin, Malgorzata Marek-Sadowska, Ernest S. Kuh
1991 A conf
ICCAD
Malgorzata Marek-Sadowska, Majid Sarrafzadeh
1990 A* conf
DAC
Shen Lin, Malgorzata Marek-Sadowska, Ernest S. Kuh
1990 A conf
ICCAD
Massoud Pedram, Malgorzata Marek-Sadowska, Ernest S. Kuh
1990 C conf
ICCD
Malgorzata Marek-Sadowska, Shen P. Lin
1989 conf
ICCAL
Fillia Makedon, Malgorzata Marek-Sadowska
1989 A* conf
DAC
Rajiv Dutta, Malgorzata Marek-Sadowska
1989 A conf
ICCAD
Malgorzata Marek-Sadowska, Shen Lin
1987 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Malgorzata Marek-Sadowska
1985 A* conf
DAC
Malgorzata Marek-Sadowska
1984 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Tom Tsan-Kuo Tarng, Malgorzata Marek-Sadowska, Ernest S. Kuh
1984 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Malgorzata Marek-Sadowska
1984 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Jeong-Tyng Li, Malgorzata Marek-Sadowska
1983 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Malgorzata Marek-Sadowska, Tom Tsan-Kuo Tarng
redb/extractors/js_extractors/js_context.py
← Index redb/extractors/js_extractors/js_context.py python
"""Per-sample shared state for the JavaScript extractor pipeline.

A `JSContext` is built exactly once per JS sample (in `workers.py`) and threaded
into every extractor that runs against that sample. It owns the disk read, the
decoded source text, the line-split cache, the Shannon text-entropy figure, the
shared `scan_source()` results, and the pyjsparser AST. Each of those is
computed lazily through `cached_property` so an extractor that doesn't need a
particular artefact does not pay for it.

Without this object, every JS extractor instance redoes the same disk read,
decode, scan, and (for any consumer) AST parse. With it, every extractor
shares one set of results.

`JSExtractor.__init__` accepts the context via a `context=` kwarg; if absent
(e.g. unit tests instantiating an extractor directly with `source=...`) it
builds a fresh context from the constructor arguments. Either path produces a
fully-populated context, so extractor code can always rely on
`self._context.scan` / `self._context.ast` / etc.
"""

from __future__ import annotations

import math
from collections import Counter
from dataclasses import dataclass
from functools import cached_property
from typing import Any, Dict, List, Optional

import chardet

from redb.extractors.js_extractors.js_patterns import scan_source


def decode_source(raw_bytes: bytes) -> str:
    """Decode raw JS bytes to text, honouring BOMs and falling back to chardet.

    Mirrors the historical `JSExtractor._decode_source` logic so existing tests
    continue to round-trip identically.
    """
    if not raw_bytes:
        return ""

    if raw_bytes[:3] == b"\xef\xbb\xbf":
        return raw_bytes[3:].decode("utf-8", errors="replace")
    if raw_bytes[:2] in (b"\xff\xfe", b"\xfe\xff"):
        return raw_bytes.decode("utf-16", errors="replace")

    try:
        return raw_bytes.decode("utf-8")
    except UnicodeDecodeError:
        pass

    try:
        detected = chardet.detect(raw_bytes)
        if detected and detected.get("encoding"):
            return raw_bytes.decode(detected["encoding"], errors="replace")
    except Exception:
        pass

    return raw_bytes.decode("latin-1", errors="replace")


def _text_entropy(text: str) -> float:
    """Shannon entropy of the character distribution of `text`, rounded to 4dp."""
    if not text:
        return 0.0
    counter = Counter(text)
    length = len(text)
    entropy = 0.0
    for count in counter.values():
        p = count / length
        if p > 0:
            entropy -= p * math.log2(p)
    return round(entropy, 4)


@dataclass
class JSContext:
    """Shared raw materials for one JS sample, consumed by every JS extractor.

    Cheap attributes (raw_bytes, source) are populated eagerly by the factory.
    Expensive ones (scan, ast) are cached_property — computed on first access
    and reused across every extractor that holds the same context.

    `content_type` is the magika label (e.g. `"javascript"`) carried alongside
    the source so the new code_text_content writer (and any future generic
    text-content writer) can record it without re-running magika. Defaults to
    `"javascript"` because by construction this context type is JS-specific;
    workers.py supplies the actual magika value when it builds the context.
    """

    filepath: str
    raw_bytes: bytes
    source: str
    log: Any = None
    content_type: str = "javascript"
    # Populated by JSStringsExtractor.extract() (the decoded/reconstructed
    # strings — hex/unicode/charcode/base64/concat unpacked into plaintext).
    # Read post-loop by the IOC plumbing in workers.py so any IOCs hidden
    # behind those encodings get scraped from the decoded form. Stays None
    # if JSStringsExtractor didn't run for this sample.
    decoded_strings: Optional[list] = None

    @cached_property
    def lines(self) -> List[str]:
        return self.source.splitlines() if self.source else []

    @cached_property
    def text_entropy(self) -> float:
        return _text_entropy(self.source)

    @cached_property
    def scan(self) -> Dict[str, Dict[str, object]]:
        """Result of running scan_source() exactly once over self.source."""
        return scan_source(self.source) if self.source else {}

    @cached_property
    def ast(self) -> Optional[Any]:
        """Lazy pyjsparser AST. Returns None if the parser is missing or fails.

        Extractors should treat None AST as "fall back to regex" — every
        AST-consuming extractor already handles that path.
        """
        if not self.source:
            return None
        try:
            import pyjsparser
            return pyjsparser.parse(self.source)
        except ImportError:
            if self.log is not None:
                self.log.debug("pyjsparser not installed, AST analysis skipped")
        except Exception as e:
            if self.log is not None:
                self.log.warning(f"AST parsing failed for {self.filepath}: {e}")
        return None

    @cached_property
    def deobfuscated(self) -> "tuple[Optional[str], Optional[str]]":
        """Run the configured JS deobfuscator (with jsbeautifier fallback) once
        per sample and cache the result. Returns `(text, normalizer_used)` or
        `(None, None)` if neither path produced output.

        Computed lazily on first access — samples whose pipeline never reads
        this don't pay the subprocess cost.
        """
        from redb.extractors.js_extractors.js_deobfuscator import deobfuscate
        return deobfuscate(self.source, self.log)

    @cached_property
    def scan_deobfuscated(self) -> Dict[str, Dict[str, object]]:
        """Result of running scan_source() exactly once over the deobfuscated
        text, keyed by PATTERNS only (FEATURE_PATTERNS are not consulted by
        the dual-pass consumers). Empty dict when there is no deobfuscated
        text or it equals the raw source.

        Two extractors consume the post-deobf API surface:
        `JSSuspiciousAPIsExtractor` (for revealed_by_deobf rows) and
        `JSDeobfuscationExtractor` (for the new_apis_found diff). Caching here
        means we scan the deobfuscated text once instead of twice per sample.
        """
        from redb.extractors.js_extractors.js_patterns import PATTERNS
        deobf_text, _ = self.deobfuscated
        if not deobf_text or deobf_text == self.source:
            return {}
        return scan_source(deobf_text, patterns=(PATTERNS,))

    @cached_property
    def xray(self):
        """Run @nodesecure/js-x-ray once per sample and cache the result.

        Returns an `XRayResult` (always — the function collapses every failure
        path to an empty result so callers don't have to special-case missing
        Node, missing package, timeouts, or parse errors). The
        `JSFeaturesExtractor` reads it for the obfuscator family name and for
        corroborating warning kinds; the heuristic falls back cleanly when
        `xray.obfuscator is None`.
        """
        from redb.extractors.js_extractors.js_xray import run
        return run(self.source, self.log)

    @classmethod
    def from_path(
        cls,
        filepath: str,
        log: Any = None,
        source: Optional[str] = None,
        raw_bytes: Optional[bytes] = None,
        content_type: str = "javascript",
    ) -> "JSContext":
        """Build a context from disk. `raw_bytes` and `source` are optional
        overrides — useful when the caller has already read or decoded the file.
        `content_type` is the magika label workers.py dispatched on; it lands
        on the context for the code_text_content writer to record.
        """
        if raw_bytes is None:
            with open(filepath, "rb") as f:
                raw_bytes = f.read()
        if source is None:
            source = decode_source(raw_bytes)
        return cls(
            filepath=filepath,
            raw_bytes=raw_bytes,
            source=source,
            log=log,
            content_type=content_type,
        )