Maciej Paszynski

217 papers B 1C 1Misc 39Journal 115Unranked 32
YearRankTypeTitle / Venue / Authors
2026 J jnl
J. Comput. Sci.
Maciej Paszynski, David Pardo, Barbara Strug
2026 J jnl
J. Comput. Sci.
Tomasz Sluzalec, Daria Wójcik, Carlos Uriarte, Marcin Los, Anna Paszynska, Maciej Paszynski
2026 J jnl
J. Comput. Sci.
Pawel Maczuga, Marcin Los, Albert Oliver Serra, Eirik Valseth, Anna Paszynska, Maciej Paszynski
2025 J jnl
J. Comput. Sci.
Magdalena Pabisz, Judit Muñoz-Matute, Maciej Paszynski
2025 J jnl
Comput. Sci.
Daria Wójcik, Alicja Niewiadomska, Maciej Paszynski
2025 ed.
ICCS (Workshops 1)
Maciej Paszynski, Amanda S. Barnard, Yongjie Jessica Zhang
2025 ed.
ICCS (Workshops 2)
Maciej Paszynski, Amanda S. Barnard, Yongjie Jessica Zhang
2025 ed.
ICCS (Workshops 3)
Maciej Paszynski, Amanda S. Barnard, Yongjie Jessica Zhang
2025 ed.
ICCS (Workshops 4)
Maciej Paszynski, Amanda S. Barnard, Yongjie Jessica Zhang
2025 ed.
ICCS (Workshops 5)
Maciej Paszynski, Amanda S. Barnard, Yongjie Jessica Zhang
2025 ed.
ICCS (Workshops 6)
Maciej Paszynski, Amanda S. Barnard, Yongjie Jessica Zhang
2025 J jnl
J. Comput. Sci.
Sergey V. Kovalchuk, Clélia de Mulatier, Valeria V. Krzhizhanovskaya, Leonardo Franco, Maciej Paszynski, Jack J. Dongarra, Peter M. A. Sloot
2025 J jnl
Comput. Math. Appl.
Magdalena Pabisz, Askold Vilkha, Dominika Ciupek, Maciej Wozniak, Maciej Paszynski
2025 J jnl
Eng. Comput.
Pawel Maczuga, Marcin Los, Eirik Valseth, Albert Oliver Serra, Leszek Siwik, Elisabete Alberdi Celaya, Anna Paszynska, Maciej Paszynski
2025 conf
ICCS (Workshops 1)
Magdalena Pabisz, Dominika Ciupek, Askold Vilkha, Maciej Paszynski
2025 J jnl
J. Comput. Sci.
Lijing Luo, Klavdiya Bochenina, Tesfamariam M. Abuhay, Nachyn Dorzhu, George Kampis, Sergey V. Kovalchuk, Valeria V. Krzhizhanovskaya, Maciej Paszynski, Clélia de Mulatier, Jack J. Dongarra, Peter M. A. Sloot
2025 J jnl
Appl. Soft Comput.
Maciej Sikora, Albert Oliver Serra, Leszek Siwik, Natalia Leszczynska, Tomasz Maciej Ciesielski, Eirik Valseth, Jacek Leszczynski, Anna Paszynska, Maciej Paszynski
2025 conf
ICCS (Workshops 1)
Maciej Sikora, Kamil Doleglo, Anna Paszynska, Maciej Paszynski
2025 conf
ICCS (2)
Pawel Maczuga, Maciej Sikora, Tomasz Sluzalec, Marcin Szubert, Lukasz Sztangret, Danuta Szeliga, Marcin Los, Witold Dzwinel, Keshav Pingali, Maciej Paszynski
2025 conf
ICCS (Workshops 2)
Pawel Maczuga, Tomasz Sluzalec, Lukasz Sztangret, Danuta Szeliga, Marcin Los, Maciej Paszynski
2025 conf
ICCS (4)
Albert Oliver Serra, Leszek Siwik, Natalia Leszczynska, Maciej Sikora, Tomasz Maciej Ciesielski, Eirik Valseth, Jacek Leszczynski, Anna Paszynska, Maciej Paszynski
2025 J jnl
Eng. Comput.
Pawel Maczuga, Marcin Los, Eirik Valseth, Albert Oliver Serra, Leszek Siwik, Elisabede Alberdi Celaya, Anna Paszynska, Maciej Paszynski
2025 J jnl
J. Comput. Appl. Math.
Marcin Los, Tomasz Sluzalec, Maciej Paszynski, Eirik Valseth
2025 conf
ICCS (1)
Askold Vilkha, Carlos Uriarte, Pawel Maczuga, Tomasz Sluzalec, Maciej Paszynski
2024 conf
ICCS (3)
Mateusz Dobija, Anna Paszynska, Carlos Uriarte, Maciej Paszynski
2024 J jnl
CoRR
Magdalena Pabisz, Judit Muñoz-Matute, Maciej Paszynski
2024 J jnl
J. Comput. Sci.
Maciej Sikora, Patryk Krukowski, Anna Paszynska, Maciej Paszynski
2024 J jnl
J. Comput. Sci.
Marcin Skotniczny, Anna Paszynska, Sergio Rojas, Maciej Paszynski
2024 J jnl
J. Comput. Sci.
Sergey V. Kovalchuk, Clélia de Mulatier, Valeria V. Krzhizhanovskaya, Jirí Mikyska, Maciej Paszynski, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (1)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (2)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (3)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (4)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (5)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (6)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 ed.
ICCS (7)
Leonardo Franco, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2024 conf
ICCS (3)
Mateusz Ksyta, Wojciech Kordylewski, Marcin Los, Piotr Gurgul, Maciej Sikora, Maciej Paszynski
2024 J jnl
CoRR
Maciej Sikora, Albert Oliver Serra, Leszek Siwik, Natalia Leszczynska, Tomasz Maciej Ciesielski, Eirik Valseth, Jacek Leszczynski, Anna Paszynska, Maciej Paszynski
2024 J jnl
CoRR
Maciej Paszynski
2024 conf
ICCS (2)
Alicja Niewiadomska, Pawel Maczuga, Albert Oliver Serra, Leszek Siwik, Paulina Sepúlveda-Salas, Anna Paszynska, Maciej Paszynski, Keshav Pingali
2024 J jnl
Adv. Eng. Softw.
Marcin Los, Maciej Paszynski
2024 J jnl
CoRR
Marcin Los, Maciej Paszynski
2024 J jnl
J. Comput. Sci.
Marcin Los, Leszek Siwik, Maciej Wozniak, Dominik Grybos, Pawel Maczuga, Albert Oliver Serra, Jacek Leszczynski, Maciej Paszynski
2024 J jnl
CoRR
Pawel Maczuga, Marcin Los, Eirik Valseth, Albert Oliver Serra, Leszek Siwik, Elisabete Alberdi Celaya, Anna Paszynska, Maciej Paszynski
2024 J jnl
CoRR
Marcin Los, Tomasz Sluzalec, Maciej Paszynski, Eirik Valseth
2024 conf
ICCS (2)
Lijing Luo, Sergey V. Kovalchuk, Valeria V. Krzhizhanovskaya, Maciej Paszynski, Clélia de Mulatier, Jack J. Dongarra, Peter M. A. Sloot
2023 J jnl
Comput. Math. Appl.
Victor M. Calo, Pouria Behnoudfar, Marcin Los, Maciej Paszynski
2023 J jnl
Future Gener. Comput. Syst.
Grzegorz Gurgul, Bartosz Balis, Maciej Paszynski
2023 ed.
ICCS (1)
Jirí Mikyska, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2023 ed.
ICCS (2)
Jirí Mikyska, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2023 ed.
ICCS (3)
Jirí Mikyska, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2023 ed.
ICCS (4)
Jirí Mikyska, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2023 ed.
ICCS (5)
Jirí Mikyska, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2023 conf
ICCS (2)
Tomasz Sluzalec, Maciej Paszynski
2023 J jnl
Comput. Math. Appl.
Marcin Los, Maciej Wozniak, Keshav Pingali, Luis E. García-Castillo, Julen Álvarez-Aramberri, David Pardo, Maciej Paszynski
2023 conf
ICCS (1)
Pawel Maczuga, Maciej Paszynski
2023 J jnl
CoRR
Pawel Maczuga, Maciej Skoczen, Przemyslaw Roznawski, Filip Tluszcz, Marcin Szubert, Marcin Los, Witold Dzwinel, Keshav Pingali, Maciej Paszynski
2023 J jnl
CoRR
Maciej Sikora, Patryk Krukowski, Anna Paszynska, Maciej Paszynski
2023 J jnl
Comput. Math. Appl.
Tomasz Sluzalec, Rafal Wojciech Grzeszczuk, Sergio Rojas, Witold Dzwinel, Maciej Paszynski
2023 J jnl
CoRR
Sergio Rojas, Pawel Maczuga, Judit Muñoz-Matute, David Pardo, Maciej Paszynski
2023 J jnl
Comput. Math. Appl.
Marcin Los, Paulina Sepúlveda, Maciej Sikora, Maciej Paszynski
2023 J jnl
CoRR
Marcin Los, Paulina Sepúlveda-Salas, Maciej Paszynski
2023 J jnl
J. Comput. Appl. Math.
Marcin Los, Maciej Paszynski
2023 conf
ICCS (1)
Krzysztof Misan, Maciej Kozieja, Marcin Los, Dominik Grybos, Jacek Leszczynski, Pawel Maczuga, Maciej Wozniak, Albert Oliver Serra, Maciej Paszynski
2023 J jnl
J. Comput. Sci.
Sergey V. Kovalchuk, Clélia de Mulatier, Derek Groen, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2022 J jnl
J. Comput. Sci.
Pouria Behnoudfar, Victor Manuel Calo, Marcin Los, Pawel Maczuga, Maciej Paszynski
2022 J jnl
CoRR
Tomasz Sluzalec, Mateusz Dobija, Anna Paszynska, Ignacio Muga, Maciej Paszynski
2022 ed.
ICCS (1)
Derek Groen, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2022 ed.
ICCS (1)
Derek Groen, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2022 ed.
ICCS (3)
Derek Groen, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2022 ed.
ICCS (4)
Derek Groen, Clélia de Mulatier, Maciej Paszynski, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2022 J jnl
J. Comput. Sci.
Sergey V. Kovalchuk, Valeria V. Krzhizhanovskaya, Maciej Paszynski, Dieter Kranzlmüller, Jack J. Dongarra, Peter M. A. Sloot
2022 conf
ICCS (1)
Kamil Doleglo, Maciej Paszynski, Leszek F. Demkowicz
2022 J jnl
CoRR
Kamil Doleglo, Anna Paszynska, Maciej Paszynski, Leszek F. Demkowicz
2022 conf
ICCS (3)
Krzysztof Misan, Weronika Ormaniec, Adam Kania, Maciej Kozieja, Marcin Los, Dominik Grybos, Jacek Leszczynski, Maciej Paszynski
2022 J jnl
J. Comput. Sci.
Pawel Maczuga, Albert Oliver Serra, Anna Paszynska, Eirik Valseth, Maciej Paszynski
2022 conf
ICCS (1)
Pawel Maczuga, Maciej Paszynski, Victor M. Calo
2022 C conf
CDVE
Krzysztof Misan, Maciej Kozieja, Anna Paszynska, Maciej Paszynski
2022 J jnl
CoRR
Tomasz Sluzalec, Rafal Wojciech Grzeszczuk, Sergio Rojas, Witold Dzwinel, Maciej Paszynski
2022 J jnl
Comput. Math. Appl.
Maciej Paszynski, Leszek Siwik, Witold Dzwinel, Keshav Pingali
2022 J jnl
J. Comput. Appl. Math.
Leszek Siwik, Marcin Los, Adrian Klusek, Anna Paszynska, Keshav Pingali, Witold Dzwinel, Maciej Paszynski
2021 J jnl
J. Comput. Sci.
Sergey V. Kovalchuk, Valeria V. Krzhizhanovskaya, Maciej Paszynski, Gábor Závodszky, Michael Lees, Jack J. Dongarra, Peter M. A. Sloot
2021 ed.
ICCS (1)
Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2021 ed.
ICCS (2)
Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2021 ed.
ICCS (3)
Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2021 ed.
ICCS (4)
Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2021 ed.
ICCS (5)
Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2021 ed.
ICCS (6)
Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, Peter M. A. Sloot
2021 J jnl
CoRR
Marcin Skotniczny, Anna Paszynska, Maciej Paszynski
2021 J jnl
J. Comput. Sci.
Marcin Los, Sergio Rojas, Maciej Paszynski, Ignacio Muga, Victor M. Calo
2021 conf
ICCS (1)
Maciej Paszynski, Rafal Wojciech Grzeszczuk, David Pardo, Leszek F. Demkowicz
2021 conf
ICCS (4)
Albert Mosialek, Andrzej Szaflarski, Rafal Pych, Marek Kisiel-Dorohinicki, Maciej Paszynski, Anna Paszynska
2021 J jnl
J. Comput. Sci.
Maciej Paszynski, Marcin Los
2021 J jnl
CoRR
Marcin Los, Judit Muñoz-Matute, Ignacio Muga, Maciej Paszynski
2021 J jnl
CoRR
Maciej Paszynski, Marcin Los
2021 J jnl
Comput. Math. Appl.
Marcin Los, Ignacio Muga, Judit Muñoz-Matute, Maciej Paszynski
2021 J jnl
Comput. Sci.
Barbara Glut, Maciej Paszynski
2021 J jnl
Eng. Comput.
Krzysztof Podsiadlo, Albert Oliver Serra, Anna Paszynska, Rafael Montenegro, Ian Henriksen, Maciej Paszynski, Keshav Pingali
2020 conf
ICCS (1)
Maciej Paszynski, Leszek Siwik, Krzysztof Podsiadlo, Peter D. Minev
2020 conf
ICCS (2)
Marcin Los, Sergio Rojas, Maciej Paszynski, Ignacio Muga, Victor M. Calo
2020 J jnl
Symmetry
Anna Paszynska, Maciej Paszynski
2020 J jnl
Comput. Math. Appl.
Marcin Los, Pouria Behnoudfar, Maciej Paszynski, Victor M. Calo
2020 J jnl
CoRR
Marcin Los, Judit Muñoz-Matute, Ignacio Muga, Maciej Paszynski
2020 J jnl
Comput. Math. Appl.
Marcin Los, Judit Muñoz-Matute, Ignacio Muga, Maciej Paszynski
2020 J jnl
Comput. Sci.
Grzegorz Gurgul, Marcin Los, Maciej Paszynski, Victor M. Calo
2020 conf
ICCS (7)
Marcin Los, Judit Muñoz-Matute, Krzysztof Podsiadlo, Maciej Paszynski, Keshav Pingali
2019 J jnl
Int. J. High Perform. Comput. Appl.
Adrian Klusek, Marcin Los, Maciej Paszynski, Witold Dzwinel
2019 J jnl
J. Parallel Distributed Comput.
Leszek Siwik, Maciej Wozniak, Marcin Los, Maciej Paszynski
2019 J jnl
CoRR
Marcin Los, Pouria Behnoudfar, Maciej Paszynski, Victor Manuel Calo
2019 J jnl
Comput. Sci.
Maciej Paszynski, Konrad Jopek, Anna Paszynska, Muhammad Amber Hasaan, Keshav Pingali
2019 J jnl
CoRR
Marcin Los, Quanling Deng, Ignacio Muga, Victor M. Calo, Maciej Paszynski
2019 J jnl
CoRR
Maciej Paszynski
2019 J jnl
Adv. Eng. Softw.
Grzegorz Gurgul, Maciej Paszynski
2019 J jnl
IEEE Trans. Parallel Distributed Syst.
Leszek Siwik, Maciej Wozniak, Victor Trujillo, David Pardo, Victor Manuel Calo, Maciej Paszynski
2019 J jnl
CoRR
Leszek Siwik, Marcin Los, Adrian Klusek, Keshav Pingali, Witold Dzwinel, Maciej Paszynski
2018 conf
ICCS (2)
Hassan AbouEisha, Victor M. Calo, Konrad Jopek, Mikhail Moshkov, Anna Paszynska, Maciej Paszynski
2018 J jnl
Parallel Comput.
Maciej Paszynski, Leszek Siwik, Maciej Wozniak
2018 J jnl
J. Comput. Appl. Math.
Marcin Los, Robert Schaefer, Maciej Paszynski
2018 conf
SummerSim
Leszek Siwik, Marcin Los, Adrian Klusek, Witold Dzwinel, Maciej Paszynski
2017 Misc conf
ICCS
Witold Dzwinel, Adrian Klusek, Maciej Paszynski
2017 Misc conf
ICCS
Maciej Paszynski, Antônio Tadeu Azevedo Gomes
2017 J jnl
J. Comput. Sci.
Maciej Paszynski
2017 Misc conf
ICCS
Luis E. García-Castillo, Ignacio Gómez-Revuelto, Adrian Amor-Martin, Marcin Los, Maciej Paszynski
2017 Misc conf
ICCS
Bartosz Janota, Maciej Paszynski
2017 J jnl
Comput. Sci.
Marcin Los, Maciej Paszynski
2017 J jnl
Int. J. Appl. Math. Comput. Sci.
Hassan AbouEisha, Victor Manuel Calo, Konrad Jopek, Mikhail Moshkov, Anna Paszynska, Maciej Paszynski, Marcin Skotniczny
2017 Misc conf
ICCS
Aleksander Byrski, Maciej Paszynski, Robert Schaefer, Victor M. Calo, David Pardo
2017 J jnl
Comput. Phys. Commun.
Marcin Los, Maciej Wozniak, Maciej Paszynski, Andrew Lenharth, Muhammad Amber Hassaan, Keshav Pingali
2017 J jnl
J. Comput. Sci.
Ignacio Martinez-Fernandez, Maciej Wozniak, Luis E. García-Castillo, Maciej Paszynski
2017 J jnl
Comput. Informatics
Maciej Wozniak, Marcin Los, Maciej Paszynski, Lisandro Dalcín, Victor Manuel Calo
2016 J jnl
Comput. Sci.
Maciej Wozniak, Maciej Paszynski
2016 Misc conf
ICCS
Hassan AbouEisha, Konrad Jopek, Bartlomiej Medygral, Szymon Nosek, Mikhail Ju. Moshkov, Anna Paszynska, Maciej Paszynski, Keshav Pingali
2016 J jnl
Comput. Sci.
Piotr Faliszewski, Maciej Smolka, Robert Schaefer, Maciej Paszynski
2016 J jnl
Comput. Sci.
Pawel Piotr Lipski, Maciej Paszynski
2016 Misc conf
ICCS
Maciej Wozniak, Maciej Smolka, Adriano M. A. Côrtes, Maciej Paszynski, Robert Schaefer
2015 Misc conf
ICCS
Robert Schaefer, Maciej Smolka, Lisandro Dalcín, Maciej Paszynski
2015 J jnl
Appl. Soft Comput.
Maciej Smolka, Ewa Gajda-Zagórska, Robert Schaefer, Maciej Paszynski, David Pardo
2015 J jnl
Nat. Comput.
Ewa Gajda-Zagórska, Robert Schaefer, Maciej Smolka, Maciej Paszynski, David Pardo
2015 J jnl
J. Comput. Sci.
Maciej Paszynski
2015 J jnl
Int. J. Appl. Math. Comput. Sci.
Maciej Smolka, Robert Schaefer, Maciej Paszynski, David Pardo, Julen Álvarez-Aramberri
2015 Misc conf
ICCS
Pawel Piotr Lipski, Maciej Wózniak, Maciej Paszynski
2015 J jnl
Comput. Math. Appl.
Maciej Paszynski, David Pardo, Victor M. Calo
2015 Misc conf
ICCS
Marcin Los, Maciej Wozniak, Maciej Paszynski, Lisandro Dalcín, Victor M. Calo
2015 Misc conf
ICCS
Pawel Jerzy Matuszyk, Marcin Sieniek, Maciej Paszynski
2015 J jnl
Fundam. Informaticae
Iwona Ryszka, Anna Paszynska, Ewa Grabska, Marcin Sieniek, Maciej Paszynski
2015 J jnl
Fundam. Informaticae
Iwona Ryszka, Anna Paszynska, Ewa Grabska, Marcin Sieniek, Maciej Paszynski
2015 J jnl
Comput. Sci.
Piotr Gurgul, Maciej Paszynski, Anna Paszynska
2015 J jnl
Comput. Math. Appl.
David Pardo, Julen Álvarez-Aramberri, Maciej Paszynski, Lisandro Dalcín, Victor M. Calo
2015 J jnl
Comput. Informatics
Arkadiusz Szymczak, Maciej Paszynski, David Pardo, Anna Paszynska
2015 J jnl
Sci. Program.
Anna Paszynska, Maciej Paszynski, Konrad Jopek, Maciej Wozniak, Damian Goik, Piotr Gurgul, Hassan AbouEisha, Mikhail Moshkov, Victor Manuel Calo, Andrew Lenharth, Donald Nguyen, Keshav Pingali
2015 J jnl
J. Comput. Sci.
Robert Schaefer, Marcin Los, Marcin Sieniek, Leszek F. Demkowicz, Maciej Paszynski
2015 Misc conf
ICCS
Anna Paszynska, Konrad Jopek, Krzysztof Banas, Maciej Paszynski, Piotr Gurgul, Andrew Lenerth, Donald Nguyen, Keshav Pingali, Lisandro Dalcín, Victor M. Calo
2015 Misc conf
ICCS
Hassan AbouEisha, Mikhail Ju. Moshkov, Konrad Jopek, Pawel Gepner, Jacek Kitowski, Maciej Paszynski
2014 J jnl
Int. J. Appl. Math. Comput. Sci.
Barbara Barabasz, Ewa Gajda-Zagórska, Stanislaw Migórski, Maciej Paszynski, Robert Schaefer, Maciej Smolka
2014 J jnl
Comput. Math. Appl.
Maciej Wozniak, Krzysztof Kuznik, Maciej Paszynski, Victor M. Calo, David Pardo
2014 Misc conf
ICCS
Hassan AbouEisha, Mikhail Moshkov, Victor M. Calo, Maciej Paszynski, Damian Goik, Konrad Jopek
2014 Misc conf
ICCS
Damian Goik, Konrad Jopek, Maciej Paszynski, Andrew Lenharth, Donald Nguyen, Keshav Pingali
2014 Misc conf
ICCS
Damian Goik, Marcin Sieniek, Maciej Wozniak, Anna Paszynska, Maciej Paszynski
2014 Misc conf
ICCS
Piotr Gurgul, Anna Paszynska, Maciej Paszynski
2013 J jnl
Comput. Math. Appl.
Maciej Paszynski, David Pardo, Victor M. Calo
2013 Misc conf
ICCS
Damian Goik, Marcin Sieniek, Maciej Paszynski, Lukasz Madej
2013 J jnl
Comput. Sci.
Krzysztof Wróbel, Pawel Torba, Maciej Paszynski, Aleksander Byrski
2013 J jnl
Comput. Sci.
Krzysztof Kuznik, Maciej Paszynski, Victor M. Calo
2013 Misc conf
ICCS
Krzysztof Kuznik, Maciej Paszynski, Victor M. Calo
2013 Misc conf
ICCS
Arkadiusz Szymczak, Anna Paszynska, Piotr Gurgul, Maciej Paszynski
2013 J jnl
J. Comput. Sci.
Maciej Paszynski, Krzysztof Cetnarowicz, Robert Schaefer, David Pardo, Victor M. Calo
2013 J jnl
J. Comput. Sci.
Arkadiusz Szymczak, Anna Paszynska, Maciej Paszynski, David Pardo
2013 J jnl
Comput. Sci.
Piotr Gurgul, Marcin Sieniek, Maciej Paszynski, Lukasz Madej, Nathan O. Collier
2013 J jnl
Int. J. Appl. Math. Comput. Sci.
Barbara Strug, Anna Paszynska, Maciej Paszynski, Ewa Grabska
2013 J jnl
Comput. Sci.
Ewa Gajda-Zagórska, Maciej Paszynski, Robert Schaefer, David Pardo
2012 J jnl
Fundam. Informaticae
Anna Paszynska, Ewa Grabska, Maciej Paszynski
2012 J jnl
Fundam. Informaticae
Anna Paszynska, Ewa Grabska, Maciej Paszynski
2012 J jnl
CoRR
Maciej Paszynski, Victor M. Calo, David Pardo
2012 J jnl
CoRR
Nathan O. Collier, David Pardo, Maciej Paszynski, Victor M. Calo
2012 ch.
Advances in Intelligent Modelling and Simulation
Maciej Paszynski, Anna Paszynska, Robert Schaefer
2012 Misc conf
ICCS
Krzysztof Kuznik, Maciej Paszynski, Victor M. Calo
2012 Misc conf
ICCS
Julen Álvarez-Aramberri, David Pardo, Maciej Paszynski, Nathan O. Collier, Lisandro Dalcín, Victor M. Calo
2012 Misc conf
ICCS
Anna Paszynska, Maciej Paszynski, Arkadiusz Szymczak, David Pardo
2012 Misc conf
ICCS
Ewa Gajda-Zagórska, Maciej Paszynski, Robert Schaefer, David Pardo, Victor M. Calo
2011 Misc conf
ICCS
Marcin Sieniek, Piotr Gurgul, Marcin Skotniczny, Krzysztof Magiera, Maciej Paszynski
2011 Misc conf
ICCS
Arkadiusz Szymczak, Anna Paszynska, Maciej Paszynski, David Pardo
2011 Misc conf
CISIS
Marcin Sieniek, Piotr Gurgul, Maciej Paszynski
2011 Misc conf
ICCS
Victor M. Calo, Nathan O. Collier, David Pardo, Maciej Paszynski
2011 J jnl
Comput. Sci.
Maciej Paszynski
2011 Misc conf
ICCS
Victor M. Calo, David Pardo, Maciej Paszynski
2011 J jnl
Comput. Sci.
Maciej Paszynski, Tomasz Jurczyk, David Pardo
2011 Misc conf
ICCS
Maciej Paszynski, David Pardo, Anna Paszynska, Leszek F. Demkowicz
2010 J jnl
J. Parallel Distributed Comput.
Maciej Paszynski, David Pardo, Carlos Torres-Verdín, Leszek F. Demkowicz, Victor M. Calo
2010 Misc conf
ICCS
Krzysztof Cetnarowicz, Maciej Paszynski, David Pardo, Tibor Bosse, Han La Poutré
2010 Misc conf
ICCS
Marcin Sieniek, Piotr Gurgul, Pawel Kolodziejczyk, Maciej Paszynski
2010 J jnl
Comput. Sci.
Arkadiusz Szymczak, Maciej Paszynski, David Pardo
2010 Misc conf
ICCS
Pawel Obrok, Pawel Pierzchala, Arkadiusz Szymczak, Maciej Paszynski
2010 J jnl
Concurr. Comput. Pract. Exp.
Maciej Paszynski, Robert Schaefer
2010 J jnl
Comput. Sci.
Maciej Paszynski
2010 Misc conf
ICCS
Maciej Paszynski, David Pardo, Anna Paszynska
2010 J jnl
J. Comput. Sci.
Maciej Paszynski, David Pardo, Anna Paszynska
2009 J jnl
Comput. Informatics
Anna Paszynska, Maciej Paszynski
2009 conf
PPAM (1)
Arkadiusz Szymczak, Maciej Paszynski
2009 conf
ICCS (2)
Arkadiusz Szymczak, Maciej Paszynski
2009 conf
ICCS (2)
Anna Paszynska, Maciej Paszynski, Ewa Grabska
2009 conf
ICCS (2)
Barbara Barabasz, Robert Schaefer, Maciej Paszynski
2009 J jnl
Fundam. Informaticae
Maciej Paszynski
2009 J jnl
Fundam. Informaticae
Maciej Paszynski
2009 B conf
IEEE Congress on Evolutionary Computation
Robert Schaefer, Barbara Barabasz, Maciej Paszynski
2008 conf
ICCS (3)
Anna Paszynska, Maciej Paszynski, Ewa Grabska
2008 conf
ICCS (3)
Krzysztof Cetnarowicz, Robert Schaefer, Bojin Zheng, Maciej Paszynski, Bartlomiej Sniezynski
2008 conf
Artificial Intelligence and Pattern Recognition
Maciej Paszynski
2008 conf
ICCS (1)
Maciej Paszynski, Robert Schaefer
2007 Misc conf
International Conference on Computational Science (2)
Maciej Paszynski
2007 Misc conf
International Conference on Computational Science (1)
Maciej Paszynski, Barbara Barabasz, Robert Schaefer
2007 Misc conf
PPAM
Maciej Paszynski, Anna Paszynska
2007 J jnl
Eng. Comput.
Maciej Paszynski, Leszek F. Demkowicz
2007 Misc conf
PPAM
Maciej Paszynski
2006 conf
CE
Maciej Paszynski, David Pardo, Leszek F. Demkowicz, Carlos Torres-Verdín
2006 J jnl
Eng. Comput.
Maciej Paszynski, Leszek F. Demkowicz
2006 Misc conf
International Conference on Computational Science (3)
Maciej Paszynski
2006 J jnl
SIAM J. Appl. Math.
David Pardo, Leszek F. Demkowicz, Carlos Torres-Verdín, Maciej Paszynski
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,
        )