Kernel Dump Regression Testing

Project description

A Kernel Crash Dump refers to a portion of the contents of volatile memory (RAM) that is copied to disk whenever the execution of the kernel is disrupted. The following events can cause a kernel disruption :

To find the cause of the kernel crash, an automated test suite needs to be written in FreeBSD. A fully automated test harness empowers other techniques that are impractical when testing manually, in order to make debugging and problem identification easier. There are many configuration variables that can affect the Kernel Dump i.e different code paths to produce a kernel dump as mentioned above, we can analyze by setting them up differently with the help of this test suite. The aim of the project is to create a framework for recovering and testing those kernel dumps for a different set of configuration variables or code paths while logging every test case separately in a log file and later analyzing which code paths failed.

Deliverables

Milestones

Start

End

Task

4 May

1 June

Get ready with my dedicated hardware for the project, interact with the FreeBSD community and try to get valuable inputs from the community

1 June

15 June

Start working on the module and expect it to be utilising bhyve for hosting a VM with necessary specifications

15 June

29 June

Start using pexpect to interact with the the VM’s console and providing the necessary values for the configuration variables

29 June

3 July

Improve the code and check for any backlogs, document everything

Phase 1 Evaluation

3 July

10 July

Configuring a netdump server on the host machine and start dumping manually over a network

10 July

27 July

Bring everything together and be ready with the test suite and ensure that every combination can be tested. Ensure that any failure is logged in a separate log file

Phase 2 Evaluation

31 July

24 Aug

Testing phase: Testing different combinations of the configuration variables with the help of atf(7) and kyua(1) and mapping the cases which do not produce a valid dump on primitive testing and log them out in a separate file. Analyzing the cases where the dump produced was not valid.

24 Aug

31 Aug

Refine the code to make it more presentable, add final touches to the documentation and prepare to submit the project

Final Evaluation

Test Plan

The Code

https://github.com/ritika98/freebsd


CategoryGsoc

SummerOfCode2020Projects/KernelDumpRegressionTesting (last edited 2020-05-15T01:48:49+0000 by MarkLinimon)