Continuous Regression Testing for Safer and Faster Refactoring
Aurora Innovation About Touca Find the unintended side-effects of your day-to-day code changes Trusted By: Backed By:28 Aurora Innovation Agenda What is continuous regression testing How does regression buf = Testcase::serialize(testcases); std::string content((const char*)buf.data(), buf.size()); const auto& response = transport->binary(content); /** ... */ } int main() { touca::configure();0 码力 | 85 页 | 11.66 MB | 5 月前3Scientific Unit Testing
state #define private public Please don't do this! Common Solutions 9Option 2: Give access to a trusted friend White box testing (done right) If we are going to break encapsulation, do it correctly experiments 1. Precision 2. Reproducibility 3. Accuracy 25Precision Precision maximizes information content Use a test framework with good error messages and use it! TEST_CASE( "widget" ) { ... std::vector0 码力 | 45 页 | 1.91 MB | 5 月前3Conan 2.10 Documentation
packages or cache information. If the cache becomes inconsistent somehow, you may want to remove its content by deleting it (/.conan2). 3.2 Install with pipx In certain scenarios, attempting to it from our project with Conan is using a conanfile.txt file. Let’s create one with the following content: Listing 3: conanfile.txt [requires] zlib/1.2.11 [generators] CMakeDeps CMakeToolchain As you executable('compressor', 'src/main.c', dependencies: zlib) Let’s create a conanfile.txt with the following content to install Zlib: Listing 14: conanfile.txt [requires] zlib/1.2.11 [generators] PkgConfigDeps MesonToolchain 0 码力 | 803 页 | 5.02 MB | 10 月前3Conan 2.9 Documentation
packages or cache information. If the cache becomes inconsistent somehow, you may want to remove its content by deleting it (/.conan2). 3.2 Install with pipx In certain scenarios, attempting to it from our project with Conan is using a conanfile.txt file. Let’s create one with the following content: Listing 3: conanfile.txt [requires] zlib/1.2.11 [generators] CMakeDeps CMakeToolchain As you executable('compressor', 'src/main.c', dependencies: zlib) Let’s create a conanfile.txt with the following content to install Zlib: Listing 14: conanfile.txt [requires] zlib/1.2.11 [generators] PkgConfigDeps MesonToolchain 0 码力 | 795 页 | 4.99 MB | 10 月前3Conan 2.8 Documentation
packages or cache information. If the cache becomes inconsistent somehow, you may want to remove its content by deleting it (/.conan2). 3.2 Install with pipx In certain scenarios, attempting to it from our project with Conan is using a conanfile.txt file. Let’s create one with the following content: Listing 3: conanfile.txt [requires] zlib/1.2.11 [generators] CMakeDeps CMakeToolchain As you executable('compressor', 'src/main.c', dependencies: zlib) Let’s create a conanfile.txt with the following content to install Zlib: Listing 14: conanfile.txt [requires] zlib/1.2.11 [generators] PkgConfigDeps MesonToolchain 0 码力 | 785 页 | 4.95 MB | 10 月前3Embracing an Adversarial Mindset for Cpp Security
a Trust Boundary? Anytime there is a crossing of the trust between an untrusted component to a trusted componentDefining Trust Boundaries Downloads from the internet Network interfaces (ports and Enable compiler security options • Reduce code complexity i.e. concurrency • Use safe and trusted libraries Architecture • Minimize the use of privileged process and accounts • Isolate untrusted Process – Parsing Out-of-Process ● Sandboxing ● AppContainers – Consider Low IL ● Secure Enclaves (Trusted Execution) ○ Virtualization-based Security (VBS) ○ Intel Software Guard Extensions (Intel SGX)Fuzzing0 码力 | 92 页 | 3.67 MB | 5 月前3A Relaxed Guide to memory_order_relaxed
x =rlx r1; } // r1 is now trusted. if (r1 is bad) a[rand()] = rand(); long r2 =rlx y; if (r2 == 0) { r2 = pure_function(); y =rlx r2; } // r2 is now trusted. if (r2 is bad) b[rand()]0 码力 | 32 页 | 278.53 KB | 5 月前3Security Beyond Memory Safety
(written by someone else) Our Software Shared Memory Examples include: Driver, OS, Generic IPC, Trusted Execution EnvironmentMax Hoffmann Security Beyond Memory Safety CppCon 2024 44 Friendly Billboard0 码力 | 79 页 | 4.15 MB | 5 月前310 Problems Large Companies Have with Managing C++ Dependencies and How to Solve Them
tools / versions •Consider restricting access to other tools by distributing allowed tools from a trusted, internal location •Start building in containers pre-configured for different environments (e.g0 码力 | 46 页 | 917.72 KB | 5 月前3Back to Basics Unit Testing
Unit Test by reaching in and accessing internal state (the question is, how) 61Give access to a trusted friend White box requires breaking encapsuation class Cup { public: Cup(); bool IsEmpty();0 码力 | 109 页 | 4.13 MB | 5 月前3
共 126 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13