Nasimul Noman

73 papers A 9B 14Journal 30Unranked 16
YearRankTypeTitle / Venue / Authors
2026 J jnl
Neurocomputing
Farshid Keivanian, Niusha Shafiabady, Nasimul Noman, Zongwen Fan, Seyedali Mirjalili
2026 J jnl
IEEE Trans. Cybern.
Chayan Banerjee, Zhiyong Chen, Nasimul Noman
2025 J jnl
CoRR
Jianxin Li, Liang Qu, Taotao Cai, Zhixue Zhao, Nur Al Hasan Haldar, Aneesh Krishna, Xiangjie Kong, Flavio Romero Macau, Tanmoy Chakraborty, Aniket Deroy, Binshan Lin, Karen Blackmore, Nasimul Noman, Jingxian Cheng, Ningning Cui, Jianliang Xu
2025 J jnl
Knowl. Based Syst.
Jianxin Li, Liang Qu, Taotao Cai, Zhixue Zhao, Nur Al Hasan Haldar, Aneesh Krishna, Xiangjie Kong, Flavio Romero Macau, Tanmoy Chakraborty, Aniket Deroy, Binshan Lin, Karen Blackmore, Nasimul Noman, Jingxian Cheng, Ningning Cui, Jianliang Xu
2025 J jnl
ACM Trans. Cyber Phys. Syst.
Cody Lewis, Vijay Varadharajan, Nasimul Noman, Udaya Kiran Tupakula, Kallol Krishna Karmakar
2025 J jnl
Comput. Biol. Medicine
Dalal Alshehri, Nasimul Noman, Raymond Chiong, Shah Jahan Miah, Aaron L. Sverdlov, Doan Tm. Ngo
2025 B conf
IEEE Big Data
Md Nahid Parves Shakil, Md. Saiful Islam, Nasimul Noman, Marcella Papini
2024 J jnl
IEEE Trans. Engineering Management
Mehdi Abedi, Raymond Chiong, Nasimul Noman, Xiaoya Liao, Debiao Li
2024 J jnl
Evol. Intell.
Brendan Rogers, Nasimul Noman, Stephan K. Chalup, Pablo Moscato
2024 conf
PACIS
Dalal Alshehri, Raymond Chiong, Nasimul Noman, Najmul Hasan, Shah Jahan Miah
2024 conf
AI (1)
Siping Chen, Debiao Li, Nasimul Noman, Kyle Robert Harrison, Raymond Chiong
2024 J jnl
ACM Trans. Intell. Syst. Technol.
Cody Lewis, Vijay Varadharajan, Nasimul Noman, Udaya Kiran Tupakula
2024 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Chayan Banerjee, Zhiyong Chen, Nasimul Noman
2024 A conf
ICDCS
Cody Lewis, Vijay Varadharajan, Nasimul Noman, Udaya Kiran Tupakula, Nan Li
2023 J jnl
J. Mach. Learn. Res.
Cody Lewis, Vijay Varadharajan, Nasimul Noman
2023 conf
CDC
Chayan Banerjee, Zhiyong Chen, Nasimul Noman
2023 A conf
GECCO
Pablo Moscato, Andrew Ciezak, Nasimul Noman
2022 conf
DataCom
Feisal Hadi Masmali, Shah Jahan Miah, Nasimul Noman
2022 J jnl
CoRR
Chayan Banerjee, Zhiyong Chen, Nasimul Noman
2022 B conf
CEC
Cornelius Paardekooper, Nasimul Noman, Raymond Chiong, Vijay Varadharajan
2022 conf
DataCom
Ziad Hmwd A. Almtiri, Shah Jahan Miah, Nasimul Noman
2022 B conf
CEC
Brendan Rogers, Nasimul Noman, Stephan K. Chalup, Pablo Moscato
2022 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Chayan Banerjee, Zhiyong Chen, Nasimul Noman, Mohsen Zamani
2022 conf
SSCI
Raymond Chiong, Nasimul Noman
2021 J jnl
CoRR
Ziad Hmwd A. Almtiri, Shah Jahan Miah, Nasimul Noman
2021 B conf
CEC
Brendan Rogers, Nasimul Noman, Stephan K. Chalup, Pablo Moscato
2021 J jnl
CoRR
Chayan Banerjee, Zhiyong Chen, Nasimul Noman
2021 J jnl
CoRR
Chayan Banerjee, Zhiyong Chen, Nasimul Noman, Mohsen Zamani
2020 ch.
Deep Neural Evolution
Nasimul Noman
2020 J jnl
Expert Syst. Appl.
Mehdi Abedi, Raymond Chiong, Nasimul Noman, Rui Zhang
2020 book
Deep Neural Evolution
Hitoshi Iba, Nasimul Noman
2020 J jnl
Memetic Comput.
Nasimul Noman, Pablo Moscato
2020 ch.
Deep Neural Evolution
Ali Bakhshi, Stephan K. Chalup, Nasimul Noman
2020 conf
SSCI
Mohamad Mobasher-Kashani, Nasimul Noman, Stephan K. Chalup
2020 B conf
CEC
Seyedeh Zahra Mirjalili, Stephan K. Chalup, Seyedali Mirjalili, Nasimul Noman
2019 B conf
CEC
Terry Truong, Pablo Moscato, Nasimul Noman
2019 conf
SocProS (1)
Seyedeh Zahra Mirjalili, Hongyu Zhang, Seyedali Mirjalili, Stephan K. Chalup, Nasimul Noman
2019 J jnl
Comput. Intell.
Amer Abu Zaher, Regina Berretta, Nasimul Noman, Pablo Moscato
2019 B conf
CEC
Ali Bakhshi, Nasimul Noman, Zhiyong Chen, Mohsen Zamani, Stephan K. Chalup
2019 J jnl
Swarm Evol. Comput.
Seyedeh Zahra Mirjalili, Seyedali Mirjalili, Hongyu Zhang, Stephan K. Chalup, Nasimul Noman
2017 conf
SSCI
Mehdi Abedi, Raymond Chiong, Nasimul Noman, Rui Zhang
2016 B conf
CEC
Mohammad Nazmul Haque, Nasimul Noman, Regina Berretta, Pablo Moscato
2015 J jnl
IEEE Trans. Evol. Comput.
Quang Huy Dinh, Nathanael Aubert, Nasimul Noman, Teruo Fujii, Yannick Rondelez, Hitoshi Iba
2014 J jnl
J. Comput. Sci.
Quang Huy Dinh, Nasimul Noman, Hitoshi Iba
2013 J jnl
New Gener. Comput.
Nasimul Noman, Leon Palafox, Hitoshi Iba
2013 B conf
IEEE Congress on Evolutionary Computation
Leon Palafox, Nasimul Noman, Hitoshi Iba
2013 B conf
IEEE Congress on Evolutionary Computation
Dhammika S. Hettiarachchi, Nasimul Noman, Hitoshi Iba
2013 J jnl
IEEE Trans. Evol. Comput.
Leon Palafox, Nasimul Noman, Hitoshi Iba
2012 conf
ICHIT (1)
Chaogang He, Nasimul Noman, Hitoshi Iba
2012 conf
ICHIT (1)
Nasimul Noman, Leon Palafox, Hitoshi Iba
2012 conf
GECCO (Companion)
Kazuki Komiya, Nasimul Noman, Hitoshi Iba
2011 J jnl
Int. J. Bio Inspired Comput.
Nasimul Noman, Hitoshi Iba
2011 B conf
IEEE Congress on Evolutionary Computation
Nasimul Noman, Danushka Bollegala, Hitoshi Iba
2011 A conf
GECCO
Nasimul Noman, Danushka Bollegala, Hitoshi Iba
2011 A conf
GECCO
Jiradej Vatanutanon, Nasimul Noman, Hitoshi Iba
2011 J jnl
Algorithms Mol. Biol.
A. K. M. Azad, Saima Shahid, Nasimul Noman, Hyunju Lee
2011 A conf
GECCO
Danushka Bollegala, Nasimul Noman, Hitoshi Iba
2011 B conf
IEEE Congress on Evolutionary Computation
Nasimul Noman, Hitoshi Iba
2010 conf
Australasian Conference on Artificial Intelligence
Nasimul Noman, Hitoshi Iba
2010 conf
Australasian Conference on Artificial Intelligence
Hiroyuki Ishiwata, Nasimul Noman, Hitoshi Iba
2010 J jnl
BMC Bioinform.
Ashis Kumer Biswas, Nasimul Noman, Abdur Rahman Sikder
2010 conf
NaBIC
Jiradej Vatanutanon, Nasimul Noman, Hitoshi Iba
2010 J jnl
BMC Bioinform.
Mitra Kabir, Nasimul Noman, Hitoshi Iba
2010 conf
NaBIC
Nasimul Noman, Jiradej Vatanutanon, Hitoshi Iba
2008 J jnl
IEEE Trans. Evol. Comput.
Nasimul Noman, Hitoshi Iba
2007 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Nasimul Noman, Hitoshi Iba
2007 ch.
Analysis of Biological Data: A Soft Computing Approach
Nasimul Noman, Hitoshi Iba
2006 A conf
GECCO
Nasimul Noman, Hitoshi Iba
2006 A conf
GECCO
Nasimul Noman, Hitoshi Iba
2006 B conf
IEEE Congress on Evolutionary Computation
Nasimul Noman, Hitoshi Iba
2005 A conf
GECCO
Nasimul Noman, Hitoshi Iba
2005 A conf
GECCO
Nasimul Noman, Hitoshi Iba
2004 B conf
IEEE Congress on Evolutionary Computation
Nasimul Noman, Kouichi Okada, Naoki Hosoyama, Hitoshi Iba
redb/extractors/js_extractors/scripts/js-xray-runner.js
← Index redb/extractors/js_extractors/scripts/js-xray-runner.js javascript
#!/usr/bin/env node
// Bridge between the Python JS pipeline and @nodesecure/js-x-ray.
//
// Usage: node js-xray-runner.js <path-to-js-file>
//   stdout  one JSON object: {"obfuscator": <name|null>, "warnings": [...]}
//   stderr  human-readable error on failure
//   exit 0  analysis ran (the file may still be benign — see "obfuscator")
//   exit 1  the file could not be read or analysed
//
// Each warning is emitted as {kind, value} so the Python side can tag
// supporting signals (encoded-literal, short-identifiers, suspicious-literal,
// unsafe-stmt) without having to mirror js-x-ray's whole schema.
//
// js-x-ray ≥7 ships as an ES module, which CommonJS `require()` cannot load
// from a `.js` script — the dynamic `import()` below is what makes the
// bridge work without renaming the file to `.mjs` or adding `"type":
// "module"` to package.json (which would break tools that still
// `require()` from this directory).

const fs = require("fs");
const path = require("path");

function fail(msg) {
  process.stderr.write(msg + "\n");
  process.exit(1);
}

async function main() {
  const target = process.argv[2];
  if (!target) fail("usage: js-xray-runner.js <file>");

  let source;
  try {
    source = fs.readFileSync(target, "utf8");
  } catch (e) {
    fail(`read failed: ${e.message}`);
  }

  // The legacy `runASTAnalysis` function is deprecated (removed in v8); the
  // current API is the `AstAnalyser` class. Both produce a result with the
  // same `warnings` shape, so the rest of the bridge is unchanged.
  let AstAnalyser;
  try {
    ({ AstAnalyser } = await import("@nodesecure/js-x-ray"));
  } catch (e) {
    fail(`@nodesecure/js-x-ray not installed (run \`npm install\` in ${path.dirname(__filename)}): ${e.message}`);
  }

  // js-x-ray defaults to module-mode parsing, which rejects scripts that
  // (legally) use reserved words as identifiers, top-level `return`, etc.
  // A lot of real-world JS malware is script-style (WScript/HTA bodies,
  // pasted snippets) — retrying in script mode catches those without
  // pulling in a more lenient parser. Both attempts share the same
  // analyser; only the parse mode flips. If both fail, the original error
  // (module-mode) is reported because that's the more informative one for
  // genuinely broken sources.
  let result;
  const analyser = new AstAnalyser();
  let firstErr;
  try {
    result = await analyser.analyse(source, { module: true });
  } catch (e) {
    firstErr = e;
    try {
      result = await analyser.analyse(source, { module: false });
    } catch (e2) {
      fail(`js-x-ray analysis failed: ${firstErr.message}`);
    }
  }

  const warnings = (result.warnings || []).map((w) => ({
    kind: w.kind,
    value: w.value !== undefined ? w.value : null,
  }));

  // js-x-ray flags the obfuscator family in a warning whose kind is
  // "obfuscated-code" and whose value names the family (jsfuck, obfuscator.io,
  // freejsobfuscator, morse, jjencode, ...). Absent => not detected.
  const obfWarning = warnings.find((w) => w.kind === "obfuscated-code");
  const obfuscator = obfWarning ? obfWarning.value : null;

  // js-x-ray runs its own AST internally with a modern parser, so its
  // identifier-length average is the only path the Python pipeline has to
  // that signal on ES2015+ sources — pyjsparser is ES5.1-only and silently
  // drops to 0 the moment it hits destructuring, classes, optional chaining,
  // etc. Surfacing this lets the heuristic's `avg_identifier_length<2`
  // strong signal fire on real obfuscator.io output. `null` when the value
  // is missing or non-numeric (defensive — older js-x-ray builds may differ).
  const idsLengthAvg =
    typeof result.idsLengthAvg === "number" && !Number.isNaN(result.idsLengthAvg)
      ? result.idsLengthAvg
      : null;

  process.stdout.write(JSON.stringify({ obfuscator, warnings, idsLengthAvg }));
}

main().catch((e) => fail(e.message || String(e)));