| [c979afa] | 1 | f% Bibliography of key references for "LaTeX for Thesis and Large Documents"
|
|---|
| [bbf6a180] | 2 | % For use with BibTeX
|
|---|
| 3 |
|
|---|
| [8d76f2bd] | 4 | % --------------------------------------------------
|
|---|
| 5 | % Cforall
|
|---|
| [19a2890] | 6 |
|
|---|
| [8d76f2bd] | 7 | @misc{cfa:frontpage,
|
|---|
| [19a2890] | 8 | url = {https://cforall.uwaterloo.ca}
|
|---|
| [8d76f2bd] | 9 | }
|
|---|
| 10 | @article{cfa:typesystem,
|
|---|
| [19a2890] | 11 | author = {Aaron Moss and Robert Schluntz and Peter A. Buhr},
|
|---|
| 12 | title = {{\CFA} : Adding modern programming language features to {C}},
|
|---|
| 13 | journal = {Softw. Pract. Exp.},
|
|---|
| 14 | volume = {48},
|
|---|
| 15 | number = {12},
|
|---|
| 16 | pages = {2111--2146},
|
|---|
| 17 | year = {2018},
|
|---|
| [8d76f2bd] | 18 | }
|
|---|
| 19 |
|
|---|
| [720eec9] | 20 | % --------------------------------------------------
|
|---|
| [f85de47] | 21 | % C facts
|
|---|
| [720eec9] | 22 |
|
|---|
| 23 | @misc{arr:gnu-flex-mbr,
|
|---|
| 24 | title = {Arrays of Length Zero},
|
|---|
| 25 | howpublished= {\url{https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html}},
|
|---|
| 26 | }
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| [f85de47] | 29 | % --------------------------------------------------
|
|---|
| 30 | % C++ facts
|
|---|
| 31 |
|
|---|
| 32 | @misc{cxx:raii-abi,
|
|---|
| [0854291] | 33 | key = {Itanium},
|
|---|
| [7e2739f] | 34 | title = {Itanium {C}++ {ABI}},
|
|---|
| [f85de47] | 35 | howpublished= {\url{https://itanium-cxx-abi.github.io/cxx-abi/abi.html}},
|
|---|
| 36 | }
|
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| [8d76f2bd] | 39 | % --------------------------------------------------
|
|---|
| 40 | % Array prior work
|
|---|
| 41 |
|
|---|
| 42 | @inproceedings{arr:futhark:tytheory,
|
|---|
| [19a2890] | 43 | author = {Troels Henriksen and Martin Elsman},
|
|---|
| 44 | title = {Towards Size-Dependent Types for Array Programming},
|
|---|
| 45 | year = {2021},
|
|---|
| 46 | publisher = {Association for Computing Machinery},
|
|---|
| 47 | address = {New York, NY, USA},
|
|---|
| 48 | booktitle = {Proceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming},
|
|---|
| 49 | pages = {1-14},
|
|---|
| 50 | numpages = {14},
|
|---|
| 51 | location = {Virtual, Canada},
|
|---|
| 52 | series = {ARRAY 2021}
|
|---|
| [8d76f2bd] | 53 | }
|
|---|
| 54 |
|
|---|
| 55 | @article{arr:dex:long,
|
|---|
| [19a2890] | 56 | author = {Adam Paszke and Daniel D. Johnson and David Duvenaud and
|
|---|
| 57 | Dimitrios Vytiniotis and Alexey Radul and Matthew J. Johnson and
|
|---|
| 58 | Jonathan Ragan-Kelley and Dougal Maclaurin},
|
|---|
| 59 | title = {Getting to the Point. Index Sets and Parallelism-Preserving Autodiff
|
|---|
| 60 | for Pointful Array Programming},
|
|---|
| 61 | publisher = {Association for Computing Machinery},
|
|---|
| 62 | address = {New York, NY, USA},
|
|---|
| 63 | volume = 5,
|
|---|
| 64 | number = {ICFP},
|
|---|
| 65 | year = 2021,
|
|---|
| 66 | journal = {Proc. ACM Program. Lang.},
|
|---|
| 67 | month = {aug},
|
|---|
| [8d76f2bd] | 68 | }
|
|---|
| [5717495] | 69 |
|
|---|
| [9a35b43] | 70 |
|
|---|
| 71 | @misc{arr:ada:learn,
|
|---|
| 72 | title = {Learn Adacore: Arrays},
|
|---|
| 73 | howpublished= {\url{https://learn.adacore.com/courses/intro-to-ada/chapters/arrays.html}},
|
|---|
| 74 | }
|
|---|
| 75 |
|
|---|
| 76 |
|
|---|
| [5717495] | 77 | % --------------------------------------------------
|
|---|
| 78 | % Linked-list prior work
|
|---|
| 79 |
|
|---|
| 80 | @misc{CFAStackEvaluation,
|
|---|
| 81 | contributer = {a3moss@plg},
|
|---|
| 82 | author = {Aaron Moss},
|
|---|
| 83 | title = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs},
|
|---|
| 84 | year = 2018,
|
|---|
| [19a2890] | 85 | howpublished= {\url{https://cforall.uwaterloo.ca/CFAStackEvaluation.zip}},
|
|---|
| [5717495] | 86 | }
|
|---|
| 87 |
|
|---|
| 88 | @misc{lst:linuxq,
|
|---|
| [baad96e] | 89 | key = {queue},
|
|---|
| [19a2890] | 90 | title = {queue(7) -- Linux manual page},
|
|---|
| 91 | howpublished= {\url{https://man7.org/linux/man-pages/man3/queue.3.html}},
|
|---|
| [5717495] | 92 | }
|
|---|
| [19a2890] | 93 | % see also https://man7.org/linux/man-pages/man7/queue.7.license.html
|
|---|
| 94 | % https://man7.org/tlpi/
|
|---|
| 95 | % https://www.kernel.org/doc/man-pages/
|
|---|
| [5717495] | 96 |
|
|---|
| 97 | @misc{lst:stl,
|
|---|
| [baad96e] | 98 | key = {list},
|
|---|
| [19a2890] | 99 | title = {std::list},
|
|---|
| 100 | howpublished= {\url{https://en.cppreference.com/w/cpp/container/list}},
|
|---|
| 101 | }
|
|---|
| 102 |
|
|---|
| [fe6047c] | 103 | % -------------------------------------------------
|
|---|
| 104 | % Safety
|
|---|
| 105 |
|
|---|
| [19a2890] | 106 | @article{Blache19,
|
|---|
| 107 | author = {Gunter Blache},
|
|---|
| 108 | title = {Handling Index-out-of-bounds in safety-critical embedded {C} code using model-based development},
|
|---|
| 109 | journal = {Software \& Systems Modeling},
|
|---|
| 110 | volume = 18,
|
|---|
| 111 | year = 2019,
|
|---|
| 112 | pages = {1795-1805},
|
|---|
| 113 | }
|
|---|
| 114 |
|
|---|
| 115 | @InProceedings{Ruef19,
|
|---|
| 116 | author = {Andrew Ruef and Leonidas Lampropoulos and Ian Sweet and David Tarditi and Michael Hicks},
|
|---|
| 117 | title = {Achieving Safety Incrementally with {Checked C}},
|
|---|
| 118 | editor = {Flemming Nielson and David Sands},
|
|---|
| 119 | booktitle = {Principles of Security and Trust},
|
|---|
| 120 | publisher = {Springer International Publishing},
|
|---|
| 121 | address = {Cham},
|
|---|
| 122 | year = {2019},
|
|---|
| 123 | pages = {76-98},
|
|---|
| [5717495] | 124 | }
|
|---|
| 125 |
|
|---|
| [16915b1] | 126 | @misc{Mendio24,
|
|---|
| 127 | contributer = {pabuhr@plg},
|
|---|
| 128 | title = {What are the most secure programming languages?},
|
|---|
| 129 | author = {Mend.io (White Source Ltd.)},
|
|---|
| 130 | year = 2024,
|
|---|
| 131 | howpublished= {\url{https://www.mend.io/most-secure-programming-languages}},
|
|---|
| 132 | }
|
|---|
| [1b39705] | 133 |
|
|---|
| [fe6047c] | 134 | @phdthesis{Emre2022,
|
|---|
| [c979afa] | 135 | author = "Mehmet Emre",
|
|---|
| 136 | title = "Translating C to Safe Rust: Reasoning about Pointer Types and Lifetimes",
|
|---|
| 137 | school = "UC Santa Barbara",
|
|---|
| 138 | year = 2022
|
|---|
| [fe6047c] | 139 | }
|
|---|
| 140 |
|
|---|
| 141 | @inproceedings{White2016,
|
|---|
| [c979afa] | 142 | author = {White, David H. and Rupprecht, Thomas and L\"{u}ttgen, Gerald},
|
|---|
| 143 | title = {DSI: an evidence-based approach to identify dynamic data structures in C programs},
|
|---|
| 144 | year = {2016},
|
|---|
| 145 | isbn = {9781450343909},
|
|---|
| 146 | publisher = {Association for Computing Machinery},
|
|---|
| 147 | address = {New York, NY, USA},
|
|---|
| [c1f17aa] | 148 | url = {https://doi.org/10.1145/2931037.2931071},
|
|---|
| 149 | doi = {10.1145/2931037.2931071},
|
|---|
| [c979afa] | 150 | booktitle = {Proceedings of the 25th International Symposium on Software Testing and Analysis},
|
|---|
| 151 | pages = {259-269},
|
|---|
| 152 | numpages = {11},
|
|---|
| 153 | keywords = {Data structure identification, dynamic data structures, pointer programs, program comprehension},
|
|---|
| 154 | location = {Saarbr\"{u}cken, Germany},
|
|---|
| 155 | series = {ISSTA 2016}
|
|---|
| [fe6047c] | 156 | }
|
|---|
| 157 |
|
|---|
| 158 | % -----------------------------------------------
|
|---|
| 159 | % Misc
|
|---|
| 160 |
|
|---|
| [1b39705] | 161 | @misc{RVO20,
|
|---|
| 162 | contributer = {pabuhr@plg},
|
|---|
| 163 | title = {Return value optimization ({RVO})},
|
|---|
| 164 | author = {Special Interest Group on {C++}},
|
|---|
| 165 | year = 2020,
|
|---|
| 166 | month = jun,
|
|---|
| 167 | howpublished= {\url{https://sigcpp.github.io/2020/06/08/return-value-optimization}},
|
|---|
| 168 | }
|
|---|
| [b66a298] | 169 |
|
|---|
| 170 | @misc{DependentType,
|
|---|
| 171 | contributer = {pabuhr@plg},
|
|---|
| 172 | title = {Dependent Type},
|
|---|
| 173 | author = {HaskellWik},
|
|---|
| 174 | year = 2021,
|
|---|
| 175 | month = apr,
|
|---|
| 176 | howpublished= {\url{https://wiki.haskell.org/Dependent_type}},
|
|---|
| 177 | }
|
|---|
| 178 |
|
|---|
| [0d6fd21] | 179 |
|
|---|
| 180 | @misc{Anderson94,
|
|---|
| 181 | contributer = {pabuhr@plg},
|
|---|
| 182 | title = {Clockwise/Spiral Rule},
|
|---|
| 183 | author = {David Anderson},
|
|---|
| 184 | year = 1994,
|
|---|
| 185 | month = may,
|
|---|
| 186 | howpublished= {\url{https://c-faq.com/decl/spiral.anderson.html}},
|
|---|
| 187 | }
|
|---|
| [fe6047c] | 188 |
|
|---|
| [c979afa] | 189 | @article{Brinker26,
|
|---|
| 190 | author = {Brinker, Andrew Lilley},
|
|---|
| 191 | title = {Memory Safety for Skeptics},
|
|---|
| 192 | year = {2026},
|
|---|
| 193 | publisher = {ACM},
|
|---|
| 194 | address = {New York, NY, USA},
|
|---|
| 195 | volume = {69},
|
|---|
| 196 | number = {2},
|
|---|
| 197 | journal = {CACM},
|
|---|
| 198 | month = jan,
|
|---|
| 199 | pages = {52-58},
|
|---|
| 200 | }
|
|---|
| [c1f17aa] | 201 |
|
|---|
| 202 | @book{Sutter99,
|
|---|
| 203 | keywords = {C++, programming problems},
|
|---|
| 204 | author = {Herb Sutter},
|
|---|
| 205 | title = {Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions},
|
|---|
| 206 | publisher = {Addison-Wesley Longman Publishing Co., Inc.},
|
|---|
| 207 | address = {75 Arlington Street, Boston, MA, USA},
|
|---|
| 208 | month = jun,
|
|---|
| 209 | year = 1999,
|
|---|
| 210 | }
|
|---|
| 211 |
|
|---|
| 212 | @book{AWK,
|
|---|
| 213 | keywords = {AWK, string manipulation language},
|
|---|
| 214 | author = {Alfred V. Aho and Brian W. Kernighan and Peter Weinberger},
|
|---|
| 215 | title = {The AWK programming language},
|
|---|
| 216 | publisher = {Addison-Wesley Longman Publishing Co., Inc.},
|
|---|
| 217 | address = {75 Arlington Street, Boston, MA, USA},
|
|---|
| 218 | month = sep,
|
|---|
| 219 | year = 1987,
|
|---|
| 220 | }
|
|---|