%TODO
@article{Wagner::1998::efficient,
  title={Efficient and flexible incremental parsing},
  author={Wagner, Tim A and Graham, Susan L},
  journal={ACM Transactions on Programming Languages and Systems (TOPLAS)},
  volume={20},
  number={5},
  pages={980--1013},
  year={1998},
  publisher={ACM New York, NY, USA}
}

@PhdThesis{Wagner::1998::practical,
    Author = {Wagner, Tim A.},
    Title = {Practical Algorithms for Incremental Software Development Environments},
    School = {EECS Department, University of California},
    location = {Berkeley},
    Year = {1998},
    Month = {Mar},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1998/5885.html},
    Number = {UCB/CSD-97-946},
}

@Manual{Alvarez::2022::yara,
    author =        "Victor M. Alvarez",
    title =         "yara Documentation\,--\,Release 4.2.1",
    howpublished = "online",
    year =         "2022",
    note =         "Oficiální dokumentace nástroje YARA",
    url =          "https://yara.readthedocs.io/_/downloads/en/latest/pdf/",
    cited =        "2022-12-20"
}


@Manual{Guarnieri::2020::cuckoo,
    author =       "Claudio Guarnieri",
    title =        "Cuckoo Sandbox Book\,--\,Release 2.0.7",
    howpublished = "online",
    year =         "2020",
    note =         "Oficiální dokumentace projektu Cuckoo Sandbox",
    url =          "https://yara.readthedocs.io/en/stable/",
    cited =        "2022-12-20"
}

@Manual{Hovemeyer::2015::findbugs,
    author =       "David Hovemeyer and William Pugh",
    title =        "FindBugs Manual",
    howpublished = "online",
    year =         "2015",
    note =         "Oficiální dokumentace projektu FindBugs",
    url =          "https://findbugs.sourceforge.net/manual/index.html",
    cited =        "2022-12-29"
}

@Manual{Evans::2003::splint,
    author =       "David Evans",
    title =        "Splint Manual",
    howpublished = "online",
    year =         "2003",
    note =         "Oficiální dokumentace nástroje Splint",
    url =          "https://splint.org/manual/",
    cited =        "2022-12-29"
}


@Manual{Pylint,
  title={Pylint Documentation\,--\,Release 2.7.1},
  author={{Logilab, PyCQA}, et al.},
  howpublished = {online},
  cited = {2023-04-20},
  year={2021},
  month={2},
  organization={Logilab and PyCQA},
  note = {Oficiální dokumentace nástroje Pylint},
  url = {https://pylint.readthedocs.io/_/downloads/en/2.7.1/pdf/},
}


@Manual{Donnely::2021::bison,
  title={Bison},
  author={Charles Donnely and Richar Stallman},
  year={2021},
  organization={GNU},
  note = {Oficiální dokumentace nástroje GNU Bison},
  url = {https://www.gnu.org/software/bison/manual/bison.pdf},
  cited = {2022-12-29}
}


@Manual{Yaramod,
  author={Milkovič, Marek and Kučera, Tadeáš and Kašťák, Matej et al.},
  title={yaramod},
  year={2022},
  organization={Avast},
  note = {Oficiální dokumentace knihovny Yaramod-v3},
  url = {https://yaramod.readthedocs.io/_/downloads/en/latest/pdf/},
  cited = {2022-12-30}
}


@Manual{Pygls,
  author={{Open Law Library}},
  title={pygls Documentation},
  year={2023},
  month={4},
  publisher={Open Law Library},
  note = {Oficiální dokumentace knihovny Pygls},
  url = {https://pygls.readthedocs.io/_/downloads/en/v1.0.0/pdf/},
  cited = {2023-04-23}
}


@Manual{Pybind,
  author={Wenzel, Jacob},
  title={pybind11 Documentation},
  year={2023},
  month={3},
  note = {Oficiální dokumentace knihovny Pybind11},
  url = {https://pybind11.readthedocs.io/_/downloads/en/stable/pdf/},
  cited = {2023-04-23}
}


@Manual{Nlohmann,
  author={Lohmann, Niels},
  title={JSON for Modern C++},
  year={2023},
  month={3},
  note = {Oficiální dokumentace knihovny JSON for Modern C++},
  url = {https://json.nlohmann.me/},
  cited = {2022-04-25}
}


@Manual{Googletest,
  author={Joshi, Ajay and Balázs, Dán and Sigoure, Benoit et al.},
  organization={Google},
  title={GoogleTest},
  year={2023},
  month={4},
  note = {Oficiální repozitář frameworku GoogleTest},
  url = {https://github.com/google/googletest},
  cited = {2022-04-25}
}


@article{Emanuelsson::2008::comparative,
  title={A comparative study of industrial static analysis tools},
  author={Emanuelsson, P{\"a}r and Nilsson, Ulf},
  journal={Electronic notes in theoretical computer science},
  volume={217},
  pages={5--21},
  issn = {1571-0661},
  doi = {10.1016/j.entcs.2008.06.039},
  year={2008},
  publisher={Elsevier}
}


@Misc{Johnson::1977::lint,
  title={Lint, a C program checker},
  author={Johnson, Stephen C},
  year={1977},
  publisher={Bell Telephone Laboratories, Murray Hill},
  note = {Dokument prezentující nástroj Link},
  url = {http://squoze.net/UNIX/v7/files/doc/15_lint.pdf},
}


@inproceedings{Baca::2008::Evaluating,
author = {Baca, Dejan and Carlsson, Bengt and Lundberg, Lars},
title = {Evaluating the Cost Reduction of Static Code Analysis for Software Security},
year = {2008},
isbn = {9781595939364},
publisher = {Association for Computing Machinery},
organization = {ACM},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1375696.1375707},
doi = {10.1145/1375696.1375707},
booktitle = {Proceedings of the Third ACM SIGPLAN Workshop on Programming Languages and Analysis for Security},
pages = {79–88},
numpages = {10},
location = {Tucson, AZ, USA},
series = {PLAS '08}
}



@inproceedings{Artho::2005::combined,
  author       = {Cyrille Artho and Armin Biere},
  editor       = {Agostino Cortesi and Francesco Logozzo},
  title        = {Combined Static and Dynamic Analysis},
  booktitle    = {Proceedings of the First International Workshop on Abstract Interpretation of Object-oriented Languages (AIOOL 2005)},
  series       = {Electronic Notes in Theoretical Computer Science},
  volume       = {131},
  pages        = {3--14},
  issn = {1571-0661},
  publisher    = {Elsevier},
  year         = {2005},
  url          = {https://doi.org/10.1016/j.entcs.2005.01.018},
  doi          = {10.1016/j.entcs.2005.01.018},
}



@inproceedings{Ernst::2003::WODA,
   author = {Michael D. Ernst},
   title = {Static and dynamic analysis: Synergy and duality},
   booktitle = {WODA 2003: Workshop on Dynamic Analysis},
   pages = {24--27},
   address = {Portland, OR, USA},
   month = 5,
   year = {2003},
   issn = {0270-5257},
   publisher = {IEEE},
   organization = {IEEE}
}


@webpage{Holmes::2017,
    title = "Precision Computing\,--\,Software Design and Development",
    secondarytitle = "Searching for Content in Base-64 Strings",
    howpublished = "online",
    year =         "2017",
    author =       "Lee Holmes",
    url =          "https://www.leeholmes.com/searching-for-content-in-base-64-strings/",
    cited =        "2022-12-21"
}



@webpage{VisualStudio,
    title =        "Microsoft Learn",
    secondarytitle = "Overview of source code analysis",
    howpublished = "online",
    year =         "2023",
    author =       "Dumont, Mika and Hogenson, Gordon and Vasani, Manish et al.",
    url =          "https://learn.microsoft.com/en-us/visualstudio/code-quality/roslyn-analyzers-overview?view=vs-2022",
    cited =        "2023-4-26"
}

@Misc{Moller::2012::static,
  author =       {Anders M\o{}ller and Michael I. Schwartzbach},
  title =        {Static Program Analysis},
  howpublished = "online",
  year =         {2018},
  month =        10,
  note =         {Department of Computer Science, Aarhus University},
  url =          "http://cs.au.dk/\~amoeller/spa/",
  cited =        "2023-4-11"
}


@inproceedings{Gershuni::2019,
author = {Gershuni, Elazar and Amit, Nadav and Gurfinkel, Arie and Narodytska, Nina and Navas, Jorge A. and Rinetzky, Noam and Ryzhyk, Leonid and Sagiv, Mooly},
title = {Simple and Precise Static Analysis of Untrusted Linux Kernel Extensions},
booktitle = {Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation},
year = {2019},
isbn = {9781450367127},
publisher = {Association for Computing Machinery},
organization = {ACM},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3314221.3314590},
doi = {10.1145/3314221.3314590},
pages = {1069–1084},
numpages = {16},
keywords = {static analysis, kernel extensions, linux, ebpf},
location = {Phoenix, AZ, USA},
series = {PLDI 2019}
}


@inproceedings{Reps::1982,
author = {Reps, Thomas},
title = {Optimal-Time Incremental Semantic Analysis for Syntax-Directed Editors},
year = {1982},
isbn = {0897910656},
publisher = {Association for Computing Machinery},
organization = {ACM},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/582153.582172},
doi = {10.1145/582153.582172},
booktitle = {Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
pages = {169–176},
numpages = {8},
location = {Albuquerque, New Mexico},
series = {POPL '82}
}

  
  

@ARTICLE{Chess::2004::Security,
  author={Chess, B. and McGraw, G.},
  journal={IEEE Security \& Privacy}, 
  title={Static analysis for security}, 
  year={2004},
  volume={2},
  number={6},
  pages={76-79},
  doi={10.1109/MSP.2004.111}
}

@article{Louridas::2006::Static,
author = {Louridas, Panagiotis},
title = {Static Code Analysis},
year = {2006},
issue_date = {July 2006},
publisher = {IEEE Computer Society Press},
address = {Washington, DC, USA},
volume = {23},
number = {4},
issn = {0740-7459},
url = {https://doi.org/10.1109/MS.2006.114},
doi = {10.1109/MS.2006.114},
journal = {IEEE Softw.},
month = {7},
pages = {58–61},
numpages = {4},
}

@article{Beetem::1991::Incremental,
author = {Beetem, John F. and Beetem, Anne F.},
title = {Incremental Scanning and Parsing with Galaxy},
year = {1991},
issue_date = {July 1991},
publisher = {IEEE Press},
volume = {17},
number = {7},
issn = {0098-5589},
url = {https://doi.org/10.1109/32.83901},
doi = {10.1109/32.83901},
journal = {IEEE Trans. Softw. Eng.},
month = {6},
pages = {641–651},
numpages = {11},
}

@article{Ghezzi::1980,
    author = {Ghezzi, Carlo and Mandrioli, Dino},
    title = {Augmenting Parsers to Support Incrementality},
    year = {1980},
    issue_date = {July 1980},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    volume = {27},
    number = {3},
    issn = {0004-5411},
    url = {https://doi.org/10.1145/322203.322215},
    doi = {10.1145/322203.322215},
    journal = {J. ACM},
    month = {jul},
    pages = {564–579},
    numpages = {16}
}

      


  

@INPROCEEDINGS{Dasgupta::2009,
  author={Dasgupta, Arjun and Narasayya, Vivek and Syamala, Manoj},
  booktitle={2009 IEEE 25th International Conference on Data Engineering}, 
  organization={IEEE},
  title={A Static Analysis Framework for Database Applications}, 
  year={2009},
  volume={},
  number={},
  issn={1063-9527},
  isbn={9781424434220},
  publisher={IEEE},
  pages={1403-1414},
  doi={10.1109/ICDE.2009.98}
}


@book{Chess::2007::secure,
  title={Secure Programming with Static Analysis},
  author={Chess, B. and West, J.},
  isbn={9780321424778},
  lccn={2007010226},
  series={Addison-Wesley software security series},
  year={2007},
  publisher={Addison-Wesley}
}

@book{Gamma::1994::design,
  title={Design Patterns: Elements of Reusable Object-Oriented Software},
  author={Gamma, E. and Helm, R. and Johnson, R. and Vlissides, J.},
  isbn={9780321700698},
  lccn={94034264},
  series={Addison-Wesley Professional Computing Series},
  url={https://books.google.cz/books?id=6oHuKQe3TjQC},
  year={1994},
  publisher={Pearson Education}
}

@webpage{Shvets::2021::builder,
    secondarytitle = "Builder",
   title = "Refactoring Guru",
    howpublished = "online",
    year =         "2021",
    author =       "Alexander Shvets",
    url =          "https://refactoring.guru/design-patterns/builder",
    cited =        "2022-12-30"
}

@webpage{Shvets::2021::visitor,
    secondarytitle = "Visitor",
    title = "Refactoring Guru",
    howpublished = "online",
    year =         "2021",
    author =       "Alexander Shvets",
    url =          "https://refactoring.guru/design-patterns/visitor",
    cited =        "2022-12-30"
}

@webpage{Mino::2022,
    title = "Jobsity",
    secondarytitle =        "IDE vs Code Editor\,--\,Why and When to Use Them",
    howpublished = "online",
    year =         "2022",
    month =         {4},
    author =       "Santiago Mino",
    url =          "https://www.jobsity.com/blog/ide-vs-code-editor-why-and-when-to-use-them",
    cited =        "2022-12-31"
}


@webpage{Kelner::2022::lsp,
    title = "Microsoft Learn",
    secondarytitle = "Language Server Protocol",
    author =  "Kelner, Maia and Hogenson, Gordon and Sherer, Tim et al.", 
    howpublished = "online",
    year =         "2022",
    url =          "https://learn.microsoft.com/en-us/visualstudio/extensibility/language-server-protocol?view=vs-2022",
    cited =        "2022-12-31"
}


%video
@MISC{Alvarez::2014::yara,
    author =       "Victor Manuel Alvarez",
    title =        "YARA: The pattern matching swiss knife for malware researchers and everyone else",
    howpublished = "online",
    year =         "2014",
    month =        12,
    note =         "Záznam z konference SECURE 2014 z kanálu CERT Polska",
    url =          "https://www.youtube.com/watch?v=TTLuy0gx5vE",
    cited =        "2022-12-20"
}


@website{Brunsfeld::2022::tree-sitter,
    author =       "Max Brunsfeld",
    title =        "Tree-sitter",
    howpublished = "online",
    note =         "Oficiální repozitář a dokumentace projektu tree-sitter",
    url =          "https://tree-sitter.github.io/tree-sitter/",
    cited =        "2022-12-30",
    year = "2022",
    doi = "10.5281/zenodo.7045041"
}



@article{Gomes::2009::overview,
  title={An overview on the static code analysis approach in software development},
  author={Gomes, Ivo and Morgado, Pedro and Gomes, Tiago and Moreira, Rodrigo},
  journal={Faculdade de Engenharia da Universidade do Porto, Portugal},
  year={2009}
}

@ARTICLE{Do::2022,
  author={Do, Lisa Nguyen Quang and Wright, James R. and Ali, Karim},
  journal={IEEE Transactions on Software Engineering}, 
  title={Why Do Software Developers Use Static Analysis Tools? A User-Centered Study of Developer Needs and Motivations}, 
  year={2022},
  volume={48},
  number={3},
  pages={835-847},
  doi={10.1109/TSE.2020.3004525}
}

@INPROCEEDINGS{Prahofer::2012,
  author={Prähofer, Herbert and Angerer, Florian and Ramler, Rudolf and Lacheiner, Hermann and Grillenberger, Friedrich},
  booktitle={Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies and Factory Automation (ETFA 2012)}, 
  title={Opportunities and challenges of static code analysis of IEC 61131-3 programs}, 
  year={2012},
  organization={IEEE},
  publisher={IEEE},
  volume={},
  number={},
  isbn={9781467347358},
  pages={1-8},
  doi={10.1109/ETFA.2012.6489535}
}

@INPROCEEDINGS{Lipner::2004::trustworthy,
author = {Lipner, Steve},
year = {2004},
month = {01},
pages = {2- 13},
title = {The trustworthy computing security development lifecycle},
isbn = {0-7695-2252-1},
doi = {10.1109/CSAC.2004.41},
publisher = {IEEE},
organization = {IEEE},
booktitle={20th Annual Computer Security Applications Conference}, 
url =          "https://ieeexplore.ieee.org/document/1377202/keywords#keywords",
cited =        "2023-4-11"
}


@webpage{Kastak::2022::yls,
    author =       "Matej Kašťák",
    title =         "Avast Engineering", 
    secondarytitle =  "YLS: First Step Towards YARA Development Environment",
    howpublished = "online",
    year =         "2022",
    url =          "https://engineering.avast.io/yls-first-step-towards-yara-development-environment/",
    cited =        "2022-12-30"
}

@BOOK{Aho::2006,
    author = {Aho, Alfred V. and Lam, Monica S. and Sethi, Ravi and Ullman, Jeffrey D.},
    title = {Compilers: Principles, Techniques, and Tools (2nd Edition)},
    year = {2006},
    edition = {2},
    isbn = {0321486811},
    publisher = {Addison-Wesley Longman Publishing Co., Inc.},
    address = {USA}
}

@bachelorsthesis{Kender::2021,
    author = "Tom\'{a}\v{s} Kender",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Roz\v{s}i\v{r}ov\'{a}n\'{i} jazyka YARA",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2021,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/23242/"
}

@mastersthesis{Kastak::2021::development,
    author = "Matej Ka\v{s}\v{t}\'{a}k",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "Development Environment for YARA Language",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2021,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/23733/"
}


@phdthesis{Madsen::2015,
title = "Static Analysis of Dynamic Languages",
author = "Magnus Madsen",
year = 2015,
month = {3},
day = "3",
location = "Aarhus, DK",
language = "english",
school = "Department of Computer Science, Aarhus University",
url = "https://pure.au.dk/portal/files/85299449/Thesis.pdf"
}

