% !XeLaTeX root=NIC06_2025.tex

%%%%%%%%%
%%%  NIC  %%%
%%%%%%%%%
@inproceedings{Goodfellow2014,
	title = {Generative adversarial nets},
	author = {Goodfellow, Ian and Pouget-Abadie, Jean and Mirza, Mehdi and Xu, Bing and Warde-Farley, David and Ozair, Sherjil and Courville, Aaron and Bengio, Yoshua},
	booktitle = {Advances in Neural Information Processing Systems 27},
	editor = {Z. Ghahramani and M. Welling and C. Cortes and N. D. Lawrence and K. Q. Weinberger},
	pages = {2672--2680},
	year = {2014},
	publisher = {Curran Associates, Inc.},
	url = {http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf}
}

@incollection{Sutskever2014,
	title = {Sequence to sequence learning with neural networks},
	author = {Sutskever, Ilya and Vinyals, Oriol and Le, Quoc V},
	booktitle = {Advances in Neural Information Processing Systems 27},
	editor = {Z. Ghahramani and M. Welling and C. Cortes and N. D. Lawrence and K. Q. Weinberger},
	pages = {3104--3112},
	year = {2014},
	publisher = {Curran Associates, Inc.},
	url = {http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf}
}


@phdthesis{mikolov2012statistical,
	added-at = {2014-12-13T11:55:59.000+0100},
	author = {Mikolov, Tom{\'a}{\v{s}}},
	biburl = {https://www.bibsonomy.org/bibtex/2f46e25187c111efc2962e281b1501013/gchrupala},
	interhash = {36c142f56be162c4488bc04cf995fbbd},
	intrahash = {f46e25187c111efc2962e281b1501013},
	keywords = {imported},
	school = {Brno University of Technology},
	timestamp = {2014-12-13T11:56:31.000+0100},
	title = {Statistical language models based on neural networks},
	type = {{Ph.D. Thesis}},
	year = {2012}
}



@techreport{Symantec2018,
	abstract = {From the sudden spread of WannaCry and Petya/NotPetya, to the swift growth in coinminers, 2017 provided us with another reminder that digital security threats can come from new and unexpected sources. With each passing year, not only has the sheer volume of threats increased, but the threat landscape has become more diverse, with attackers working harder to discover new avenues of attack and cover their tracks while doing so.},
	author = {Symantec},
	booktitle = {Internet security threat report},
	title = {{ISTR internet security threat report}},
	note = {\url{https://www.symantec.com/content/dam/symantec/docs/reports/istr-23-2018-en.pdf}},
	volume = {23},
	year = {2018}
}

@inproceedings{Kargen2015,
	author = {Karg{\'e}n, Ulf and Shahmehri, Nahid},
	title = {Turning programs against each other: high coverage fuzz-testing using binary-code mutation and dynamic slicing},
	booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
	series = {ESEC/FSE 2015},
	year = {2015},
	isbn = {978-1-4503-3675-8},
	location = {Bergamo, Italy},
	pages = {782--792},
	numpages = {11},
	url = {http://doi.acm.org/10.1145/2786805.2786844},
	doi = {10.1145/2786805.2786844},
	acmid = {2786844},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {Fuzz testing, black-box, dynamic slicing, fuzzing, program mutation},
}





%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%          Web Pages         %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@misc{Zalewsky2013,
	author = {Zalewsky, Michal},
	title = {{American fuzzy lop}},
	HOWPUBLISHED = {[Online]. Available: \url{http://lcamtuf.coredump.cx/afl/}},
	urldate = {2020-06-29},
	year = {[Accessed: 2020-06-29]}
}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%       Books     %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@book{Jorgensen2014,
author = {Jorgensen, Paul C.},
booktitle = {Guest Editors Introduction, IEEE Computer},
doi = {10.1109/TEST.1991.519785},
edition = {Fourth Edition},
isbn = {9781466560697},
issn = {1089-3539},
pages = {21--22},
publisher = {CRC Press Taylor {\&} Francis Group},
title = {{Software testing a craftsman's approach}},
abstract = {This updated and reorganized fourth edition of Software Testing: A Craftsman's Approachapplies the strong mathematics content of previous editions to a coherent treatment of Model-Based Testing for both code-based (structural) and specification-based (functional) testing. These techniques are extended from the usual unit testing discussions to full coverage of less understood levels integration and system testing. The Fourth Edition: * Emphasizes technical inspections and is supplemented by an appendix with a full package of documents required for a sample Use Case technical inspection * Introduces an innovative approach that merges the Event-Driven Petri Nets from the earlier editions with the "Swim Lane" concept from the Unified Modeling Language (UML) that permits model-based testing for four levels of interaction among constituents in a System of Systems * Introduces model-based development and provides an explanation of how to conduct testing within model-based development environments * Presents a new section on methods for testing software in an Agile programming environment * Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing Thoroughly revised and updated, Software Testing: A Craftsman's Approach, Fourth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing. Carrying on the tradition of previous editions, it will continue to serve as a valuable reference for software testers, developers, and engineers.},
volume = {47},
year = {2014}
}


@book{Jurafsky2017,
	author = {Jurafsky, Daniel and Martin, James H.},
	title = {Speech and language processing (3rd ed. draft)},
	note={\url{https://web.stanford.edu/~jurafsky/slp3/}},
	year={2017}
} 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%     English Journal Paper    %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


@article{Zakeri2020,
    abstract = {Appropriate test data are a crucial factor to succeed in fuzz testing. Most of the real-world applications, however, accept complex structure inputs containing data surrounded by meta-data which is processed in several stages comprising of the parsing and rendering (execution). The complex structure of some input files makes it difficult to generate efficient test data automatically. The success of deep learning to cope with complex tasks, specifically generative tasks, has motivated us to exploit it in the context of test data generation for complicated structures such as PDF files. In this respect, a neural language model (NLM) based on deep recurrent neural networks (RNNs) is used to learn the structure of complex inputs. To target both the parsing and rendering steps of the software under test (SUT), our approach generates new test data while distinguishing between data and meta-data that significantly improve the input fuzzing. To assess the proposed approach, we have developed a modular file format fuzzer, IUST-DeepFuzz. Our experimental results demonstrate the relatively high coverage of MuPDF code by our proposed fuzzer, IUST-DeepFuzz, in comparison with the state-of-the-art tools such as learn{\&}fuzz, AFL, Augmented-AFL, and random fuzzing. In summary, our experiments with many deep learning models revealed the fact that the simpler the deep learning models applied to generate test data, the higher the code coverage of the software under test will be.},
    author = {{Zakeri Nasrabadi}, Morteza and Parsa, Saeed and Kalaee, Akram},
    doi = {10.1007/s00521-020-05039-7},
    issn = {0941-0643},
    journal = {Neural Computing and Applications},
    mendeley-groups = {MZN},
    month = {jun},
    title = {{Format-aware learn{\&}fuzz: deep test data generation for efficient fuzzing}},
    url = {https://doi.org/10.1007/s00521-020-05039-7 http://link.springer.com/10.1007/s00521-020-05039-7},
    year = {2020}
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%     Persian References     %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@article {ZakeriFa2020,
    author = {{Zakeri-Nasrabadi}, Morteza and Parsa, Saeed},
    title = {Automatic Test Data Generation in File Format Fuzzers},
    journal = {Electronic and Cyber Defense},
    volume = {8},
    number = {1},
    pages = {1-16},
    year  = {2020 (In Persian)},
    publisher = {Imam Hussein University},
    issn = {2322-4347}, 
    eissn = {}, 
    doi = {https://dorl.net/dor/20.1001.1.23224347.1399.8.1.1.1},
    abstract = {Fuzzing is a dynamic software testing technique. In this technique with repeated generation and injection of malformed test data to the software under test (SUT), we are looking for the possible errors and vulnerabilities. Files are significant inputs to most real-world applications. Many of test data which are generated for fuzzing such programs are rejected by the parser because they are not in the acceptable format and this results in a low code coverage in the process of fuzz testing. Using the grammatical structure of input files to generate test data leads to increase code coverage. However, often, the grammar extraction is performed manually, which is a time consuming, costly and error-prone task. In this paper, a new method, based on deep neural language models (NLMs), is proposed for automatically learning the file structure and then generating and fuzzing test data. Our experiments demonstrate that the data produced by this method leads to an increase in the code coverage compared to previous test data generation methods. For MuPDF software, which accepts the PDF complex file format as an input, we have more than 1.30 to 12 percent improvement in code coverage than both the intelligence and random methods.},
    keywords = {Fuzz Testing,test data,code coverage,recurrent neural network,language model,deep learning},
    title_fa = {تولید خودکار داده آزمون در فازرهای قالب فایل},
    abstract_fa = { آزمون فازی یک فن آزمون پویای نرم‌افزار است. در این فن با تولید ورودی‌های بدشکل و تزریق پی‌در‌پی آن‌ها به نرم‌افزار تحت آزمون، دنبال یافتن خطا‌ها و آسیب‌پذیری‌های احتمالی آن هستیم. ورودی اصلی بسیاری از نرم‌افزارهای دنیای واقعی فایل‌ است. تعداد زیادی از داده‌های آزمون که برای آزمون فازی این نرم‌افزارها تولید می‌شوند در همان مراحل اوّلیه به‌علّت نداشتن قالب مورد قبول، توسط پویش‌گر فایل برنامه رد می‌شوند. در نتیجه شاهد پوشش کم کد برنامه در روند آزمون فازی هستیم. استفاده از گرامرِ ساختار فایل برای تولید داده آزمون، منجربه افزایش پوشش کد می‌گردد، اما این گرامر معمولاً به‌صورت دستی تهیه می‌شود که کاری زمان‌بر، پرهزینه و مستعد خطا است. در این مقاله روشی نو با استفاده از مدل‌های زبانی عصبی ژرف برای یادگیری خودکار ساختار فایل و سپس تولید و فاز داده‌های آزمون ارائه شده است. آزمایش‌های ما بهبود پوشش کد روش پیشنهادی را در مقایسه با دیگر روش‌های تولید داده آزمون نشان می‌دهد. برای نرم‌افزار MuPDF که قالب فایل‌ پیچیده PDF را به‌عنوان ورودی می‌پذیرد، بیش از 30/1 تا 12 درصد بهبود پوشش کد را نسبت به روش‌های هوشمند و روش تصادفی داشته‌ایم.},
    keywords_fa = {آزمون فازی,داده آزمون,پوشش کد,شبکه عصبی مکرر,مدل زبانی,یادگیری ژرف},	
    url = {https://ecdj.ihu.ac.ir/article_204735.html},
    eprint = {https://ecdj.ihu.ac.ir/article_204735_f505191cfa91a13b00ee186ddba271fd.pdf}
}
