Validation Methodology for Libraries in PMDK

This video features Intel’s approach to testing PMDK libraries. The video lists different kinds of testing PMDK validation team uses to ensure the best quality for the libraries.

Hi, I'm Usha Upadhyayula from Intel. And in this video, I'll talk about the methodology we use in validating Persistent Memory Development Kit libraries also known as PMDK libraries.

Along with developing these libraries, Intel developed a wide range of testing mechanisms. Our first priority is a functional group of tests where we ensure all features work as advertised. The second set of tests we execute are unit tests, which are prepared by the development team. The third set is a performance and benchmarking test suite to ensure these libraries do not degrade performance of the application. Finally, we run system-level tests that include validating some real-world application proof-points that use PMDK libraries.

We use Jenkins as the automation platform, striving for 100% automation of all our tests. Our automation test framework facilitates minimal effort to test these libraries. Our tests are cross-platform, meaning they work on different flavors of Linux* and Windows*. And our parameterized tests allow us to cover many paths with the same code.

Also, we use continuous integration to achieve daily runs, containing basic acceptance tests, functional tests, and system tests-- weekly execution covering the additional scope of performance and security checks-- and on-demand checks for custom branches. In addition, we use code coverage analysis and use a set of synthetic benchmarks we developed for persistent memory to test these libraries. From the security-testing perspective, we use static analysis and fuzzing testing to ensure that these libraries have no vulnerabilities in the code.

We started open-sourcing some of these tests and plan to open-source more in the future. We believe persistent memory adoption is imminent and we want to provide the best experiences to all users of PMDK libraries.

Thank you for watching. We hope you get a chance to explore the persistent memory repository on GitHub* and provide us feedback. Please don't forget to Like this video and subscribe.