
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ”in the wild” and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own restrictions on the call tree based on these type qualifiers. We demonstrate that this tool, when used with hand-crafted rules, can catch certain types of errors which commonly occur in the wild. We claim that this tool can be used in a production setting to catch certain kinds of errors in code before that code is even run.
—
Andrew Nelson, Arista Networks
Software Engineer
Andrew is passionate about creating tools and methodologies that enable everyone to write high quality software. He recently completed a masters degree at Cal Poly SLO where his area of research involved static analysis. Today he works at Arista Networks on tools that make developers more productive. Andrew spends a lot of his free time teaching Computer Science to high school students (he mentors a highschool robotics team and tutors students in AP Computer Science) and has seen a lot of interesting bugs while doing so!
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
c thomas howell CppCon 2018: Andrew Nelson “Funqual: user-defined statically-checked call graph constraints in C++” | |
32 Likes | 32 Dislikes |
1,371 views views | 63.8K followers |
Education | Upload TimePublished on 28 Oct 2018 |
Related keywords
c train schedule,c diff,c section,c corporation,c town,c train service,c section scar,c to k,c battery,c span,c train,c street,c suite,c to f,c stock,c reactive protein,c elegans,c chord guitar,c train status,