 Testing Compile-time Constructs Within a Runtime Unit Testing Framework0 码力 | 50 页 | 1.37 MB | 6 月前3 Testing Compile-time Constructs Within a Runtime Unit Testing Framework0 码力 | 50 页 | 1.37 MB | 6 月前3
 Tracy: A Profiler You Don't Want to Miss... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } } strlen(“hit-points”) ?????• ZoneText ... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } } strlen(“hit-points”)int foo() { ZoneScoped; Tips & Tricks *or help fix Apple trackpad gestures in ImGui• Idling • Waits • Sleeps • Lock acquisition (contention) • Memory operations • Explicit system calls (or heavy API calls) • Big-O activity0 码力 | 84 页 | 8.70 MB | 6 月前3 Tracy: A Profiler You Don't Want to Miss... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } } strlen(“hit-points”) ?????• ZoneText ... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } } strlen(“hit-points”)int foo() { ZoneScoped; Tips & Tricks *or help fix Apple trackpad gestures in ImGui• Idling • Waits • Sleeps • Lock acquisition (contention) • Memory operations • Explicit system calls (or heavy API calls) • Big-O activity0 码力 | 84 页 | 8.70 MB | 6 月前3
 Tracy: A Profiler You Don't Want to Miss... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } } ?????• ZoneText • logs a string to the ... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } }int foo() { ZoneScoped; ... Tips & Tricks *or help fix Apple trackpad gestures in ImGui• Idling • Waits • Sleeps • Lock acquisition (contention) • Memory operations • Explicit system calls (or heavy API calls) • Big-O activity0 码力 | 85 页 | 6.51 MB | 6 月前3 Tracy: A Profiler You Don't Want to Miss... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } } ?????• ZoneText • logs a string to the ... ZoneText(“hit-points”, 10); ZoneValue(pokemon.hp); ZoneText(“defense”, 7); ZoneValue(pokemon.def); ... } }int foo() { ZoneScoped; ... Tips & Tricks *or help fix Apple trackpad gestures in ImGui• Idling • Waits • Sleeps • Lock acquisition (contention) • Memory operations • Explicit system calls (or heavy API calls) • Big-O activity0 码力 | 85 页 | 6.51 MB | 6 月前3
 Back to Basics Unit Testing5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Frameworks Part 0: Basics 12Use a good unit test framework. (And learn how to use it) 13Part 2: Care and Feeding . ├── src │ ├── stuff │ ├── things Workflow, ACCU 2022 https://youtu.be/l6Q7XaTleyI 17Part 0 summary Unit tests are the first line of defense (but not the only line) Unit tests are an integral part of the code base Unit tests are small testing the correctness of your code at the smallest possible unit: the function. Use a Unit Test Framework 18Rule 0 Write unit tests 19DOMAINS Good Tests Good Code Good Process 20Part 1: Good Tests0 码力 | 109 页 | 4.13 MB | 6 月前3 Back to Basics Unit Testing5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Frameworks Part 0: Basics 12Use a good unit test framework. (And learn how to use it) 13Part 2: Care and Feeding . ├── src │ ├── stuff │ ├── things Workflow, ACCU 2022 https://youtu.be/l6Q7XaTleyI 17Part 0 summary Unit tests are the first line of defense (but not the only line) Unit tests are an integral part of the code base Unit tests are small testing the correctness of your code at the smallest possible unit: the function. Use a Unit Test Framework 18Rule 0 Write unit tests 19DOMAINS Good Tests Good Code Good Process 20Part 1: Good Tests0 码力 | 109 页 | 4.13 MB | 6 月前3
 Building Safe and Reliable Surgical Robotics with C++Security Survey Software Development in Medical Devices 19 ❖ 2 out of 3 products target Medical, Defense, Automative, and Industrial technologies ❖ 17% lack of written coding standards ❖ 33% don't perform decoupled architecture, Frequent tech debt reviews, Security/Compliance tracking, Established testing framework for upgrades, Proper dependency mgmt. (e.g., Conan), solid documentation, ...Safety Critical Path0 码力 | 71 页 | 4.02 MB | 6 月前3 Building Safe and Reliable Surgical Robotics with C++Security Survey Software Development in Medical Devices 19 ❖ 2 out of 3 products target Medical, Defense, Automative, and Industrial technologies ❖ 17% lack of written coding standards ❖ 33% don't perform decoupled architecture, Frequent tech debt reviews, Security/Compliance tracking, Established testing framework for upgrades, Proper dependency mgmt. (e.g., Conan), solid documentation, ...Safety Critical Path0 码力 | 71 页 | 4.02 MB | 6 月前3
 Class LayoutMisaligned members in device classes such as UART almost always lead to run-time failures.  The best defense against misaligned members is to catch them at compile time using static assertions, as in: class Dewhurst and Daniel Saks 33 Improper Use of void *  Does this ever happen? Yes.  Consider a “framework” for setting and getting a Widget. typedef void *Widget; // improper use of typedef... void0 码力 | 51 页 | 461.37 KB | 6 月前3 Class LayoutMisaligned members in device classes such as UART almost always lead to run-time failures.  The best defense against misaligned members is to catch them at compile time using static assertions, as in: class Dewhurst and Daniel Saks 33 Improper Use of void *  Does this ever happen? Yes.  Consider a “framework” for setting and getting a Widget. typedef void *Widget; // improper use of typedef... void0 码力 | 51 页 | 461.37 KB | 6 月前3
 Embracing an Adversarial Mindset for Cpp Securitysecurity testing •Improved Discovery Methods - Enhanced Bug Hunting •Race Between Offense and Defense •Focus on Higher Value Targets •Sophisticated Attackers •Cloud services, Containerization, Microservices for lateral movement ● Persistence and evading detection ● Complex Privilege Models ● Focus on Defense-in-DepthAttack Chain and EoP Reconnaissance Intrusion Exploitation Privilege Escalation Persistence Attacker Techniques ● Focus on High-Value Targets ● Increased Complexity ● Race Between Offense and Defense ● Legacy Systems and Backward CompatibilityAttack Chain and Security Feature Bypass Reconnaissance0 码力 | 92 页 | 3.67 MB | 6 月前3 Embracing an Adversarial Mindset for Cpp Securitysecurity testing •Improved Discovery Methods - Enhanced Bug Hunting •Race Between Offense and Defense •Focus on Higher Value Targets •Sophisticated Attackers •Cloud services, Containerization, Microservices for lateral movement ● Persistence and evading detection ● Complex Privilege Models ● Focus on Defense-in-DepthAttack Chain and EoP Reconnaissance Intrusion Exploitation Privilege Escalation Persistence Attacker Techniques ● Focus on High-Value Targets ● Increased Complexity ● Race Between Offense and Defense ● Legacy Systems and Backward CompatibilityAttack Chain and Security Feature Bypass Reconnaissance0 码力 | 92 页 | 3.67 MB | 6 月前3
 Delivering safe C++an object • A destructor releases all resources owned by the object • And (1988) • “Resource Acquisition Is Initialization” • Apologies for that name Stroustrup - C++ safety -CppCon - October 2023 20 } Stroustrup - Essence - Fall'23 21 pointer Something representing a resourceRAII (Resource Acquisition Is Initialization) // use an object to represent a resource class File_handle { // belongs Stroustrup - C++ safety -CppCon - October 2023 32High-level rules – “Philosophy” • Provide a conceptual framework • Primarily for humans • Many can’t be checked completely or consistently • P.1: Express ideas0 码力 | 74 页 | 2.72 MB | 6 月前3 Delivering safe C++an object • A destructor releases all resources owned by the object • And (1988) • “Resource Acquisition Is Initialization” • Apologies for that name Stroustrup - C++ safety -CppCon - October 2023 20 } Stroustrup - Essence - Fall'23 21 pointer Something representing a resourceRAII (Resource Acquisition Is Initialization) // use an object to represent a resource class File_handle { // belongs Stroustrup - C++ safety -CppCon - October 2023 32High-level rules – “Philosophy” • Provide a conceptual framework • Primarily for humans • Many can’t be checked completely or consistently • P.1: Express ideas0 码力 | 74 页 | 2.72 MB | 6 月前3
 Continuous Regression Testing for Safer and Faster RefactoringImaging and Communications in Medicine Group Element Tag name 0008 0020 Study date 0008 002A Acquisition DateTime 0010 0010 Patient’s name 0020 0013 Instance Number 0020 0020 Patient orientation Courtesy dif�cult to setup Test system is inef�cient to run Test system is not reuseable 50,000 + LoC test framework 16 + hours to run test for (auto test_case: test_suite) { auto new_output = new_system(test_case); /trytouca $ brew install touca $ touca server install Apache 2.0 License31 Aurora Innovation Test Framework Parses command-line arguments Retrieves test cases Submits captured data Reports test progress0 码力 | 85 页 | 11.66 MB | 6 月前3 Continuous Regression Testing for Safer and Faster RefactoringImaging and Communications in Medicine Group Element Tag name 0008 0020 Study date 0008 002A Acquisition DateTime 0010 0010 Patient’s name 0020 0013 Instance Number 0020 0020 Patient orientation Courtesy dif�cult to setup Test system is inef�cient to run Test system is not reuseable 50,000 + LoC test framework 16 + hours to run test for (auto test_case: test_suite) { auto new_output = new_system(test_case); /trytouca $ brew install touca $ touca server install Apache 2.0 License31 Aurora Innovation Test Framework Parses command-line arguments Retrieves test cases Submits captured data Reports test progress0 码力 | 85 页 | 11.66 MB | 6 月前3
 When Nanoseconds Matter: Ultrafast Trading Systems in C++Optiver, a global market maker company - Worked on low-latency systems for 15 years in Trading and Defense • Today’s talk - Engineering low-latency trading systems - Profiling techniques to find bottlenecks0 码力 | 123 页 | 5.89 MB | 6 月前3 When Nanoseconds Matter: Ultrafast Trading Systems in C++Optiver, a global market maker company - Worked on low-latency systems for 15 years in Trading and Defense • Today’s talk - Engineering low-latency trading systems - Profiling techniques to find bottlenecks0 码力 | 123 页 | 5.89 MB | 6 月前3
共 141 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
相关搜索词














