Ilyas Cicekli

53 papers B 7C 2Misc 3Journal 28Unranked 13
YearRankTypeTitle / Venue / Authors
2025 J jnl
IEEE Access
Mustafa Çataltas, Ilyas Cicekli, Nurdan Akhan Baykan
2024 J jnl
IEEE Access
Mustafa Kaya, Ilyas Cicekli
2024 J jnl
IEEE Access
Farhad Khalilzadeh, Ilyas Cicekli
2023 J jnl
Inf. Technol. Control.
Mahmoud Hossein Zadeh, Ilyas Cicekli
2022 J jnl
Expert Syst. Appl.
Kadir C. Yalcin, Ilyas Cicekli, Gonenc Ercan
2020 conf
NLPIR
Gulshat Kessikbayeva, Ilyas Cicekli
2016 J jnl
Res. Comput. Sci.
Sinan Polat, Merve Selcuk-Simsek, Ilyas Cicekli
2016 J jnl
J. Inf. Sci.
Gönenç Ercan, Ilyas Cicekli
2015 conf
ISCIS
Mücahit Kutlu, Ilyas Cicekli
2014 conf
KDIR
Servet Tasci, Ilyas Cicekli
2014 conf
IC3K (Selected Papers)
Servet Tasci, Ilyas Cicekli
2014 conf
SIGMORPHON/SIGFSM
Gulshat Kessikbayeva, Ilyas Cicekli
2013 B conf
IJCNLP
Nagehan Pala Er, Ilyas Cicekli
2013 B conf
IJCNLP
Mücahid Kutlu, Ilyas Cicekli
2012 J jnl
J. Inf. Sci.
Gonenc Ercan, Ilyas Cicekli
2012 C conf
KEOD
Filiz Alaca Aygul, Nihan Kesim Cicekli, Ilyas Cicekli
2011 J jnl
Appl. Intell.
Turhan Daybelge, Ilyas Cicekli
2011 J jnl
J. Inf. Sci.
Serhan Tatar, Ilyas Cicekli
2011 J jnl
J. Inf. Sci.
Makbule Gulcin Ozsoy, Ferda Nur Alpaslan, Ilyas Cicekli
2010 J jnl
J. Inf. Sci.
Kezban Demirtas, Nihan Kesim Cicekli, Ilyas Cicekli
2010 J jnl
Comput. Biol. Medicine
Ergin Soysal, Ilyas Cicekli, Nazife Baykal
2010 J jnl
Comput. J.
Mücahid Kutlu, Celal Cigir, Ilyas Cicekli
2010 J jnl
Nat. Lang. Eng.
Ilyas Cicekli
2010 conf
ISCIS
Kezban Demirtas, Ilyas Cicekli, Nihan Kesim Cicekli
2010 B conf
COLING
Makbule Gulcin Ozsoy, Ilyas Cicekli, Ferda Nur Alpaslan
2009 conf
ISCIS
Celal Cigir, Mücahid Kutlu, Ilyas Cicekli
2009 conf
ISCIS
Bahadir Özdemir, Ilyas Cicekli
2009 J jnl
J. Biomed. Informatics
Serhan Tatar, Ilyas Cicekli
2008 C conf
CICLing
Gonenc Ercan, Ilyas Cicekli
2008 J jnl
Inf. Sci.
Guzen Erozel, Nihan Kesim Cicekli, Ilyas Cicekli
2007 conf
ESAW
Onur Aydin, Nihan Kesim Cicekli, Ilyas Cicekli
2007 J jnl
Inf. Process. Manag.
Gonenc Ercan, Ilyas Cicekli
2006 J jnl
Inf. Sci.
Nihan Kesim Cicekli, Ilyas Cicekli
2006 J jnl
Appl. Intell.
Ilyas Cicekli, Nihan Kesim Cicekli
2005 J jnl
Mach. Transl.
Ilyas Cicekli
2005 conf
MTSummit (Workshop)
Ilyas Cicekli
2005 conf
Databases and Applications
Guzen Erozel, Nihan Kesim Cicekli, Ilyas Cicekli
2001 J jnl
Appl. Intell.
Ilyas Cicekli, H. Altay Güvenir
2000 J jnl
Minds Mach.
Ayse Pinar Saygin, Ilyas Cicekli, Varol Akman
1998 B conf
INLG
Murat Temizsoy, Ilyas Cicekli
1998 J jnl
J. Log. Program.
Ilyas Cicekli
1998 Misc conf
AMTA
Murat Temizsoy, Ilyas Cicekli
1998 B conf
CoNLL
Ilyas Cicekli, Turgay Korkmaz
1998 J jnl
Inf. Syst.
H. Altay Güvenir, Ilyas Cicekli
1998 Misc conf
AMTA
Zeynep Öz, Ilyas Cicekli
1998 Misc conf
AIMSA
Ilyas Cicekli
1997 J jnl
ACM SIGPLAN Notices
Ilyas Cicekli
1996 J jnl
CoRR
Ilyas Cicekli, H. Altay Güvenir
1996 J jnl
CoRR
Dilek Zeynep Hakkani, Kemal Oflazer, Ilyas Cicekli
1996 conf
INLG (1)
Dilek Zeynep Hakkani, Kemal Oflazer, Ilyas Cicekli
1995 B conf
ICLP
Ilyas Cicekli
1988 conf
META
Ilyas Cicekli
1986 B conf
ICLP
Kenneth A. Bowen, Kevin A. Buettner, Ilyas Cicekli, Andrew K. Turk
redb/extractors/js_extractors/js_content.py
← Index redb/extractors/js_extractors/js_content.py python
"""Persists raw + normalised text into the generic `code_text_content` table.

Reads the raw source and the deobfuscation result directly from the shared
JSContext so no extra compute happens here — both values are computed once
per sample (the source at JSContext construction, the deobfuscation lazily
on first access) and reused by any extractor that needs them.

`text_normalized` is left NULL when the deobfuscation pass produced no
output, so analysts can distinguish "we tried and got nothing" from
"normalisation succeeded".
"""

import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.js_extractor import JSExtractor


class JSContentExtractor(JSExtractor):

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

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

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

        deobfuscated, normalizer_used = self._context.deobfuscated

        self.content_row = {
            "content_type": self._context.content_type,
            "text_raw": src,
            "text_normalized": deobfuscated,  # may be None
            "normalizer_used": normalizer_used,  # may be None
        }
        return self.content_row

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

        r = self.content_row
        data = [[
            self.sha256,
            r["content_type"],
            r["text_raw"],
            r["text_normalized"],
            r["normalizer_used"],
            datetime.now(timezone.utc),
        ]]

        column_names = [
            "sha256",
            "content_type",
            "text_raw",
            "text_normalized",
            "normalizer_used",
            "analysis_date",
        ]

        column_type_names = [
            "FixedString(64)",
            "LowCardinality(String)",
            "String",
            "Nullable(String)",
            "Nullable(String)",
            "DateTime64(3, 'UTC')",
        ]

        return (data, column_names, column_type_names)

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