[GSoC] Draft Proposal for Comprehensive Testing Suite + Documentation
Jay Joshi
jay.r.joshi100 at gmail.com
Fri Mar 25 15:32:52 UTC 2016
Draft is pasted below. Let me know if some changes are required. Thanks.
Jay R. Joshi
E-mail: jay.r.joshi100 at gmaiil.com
Github: https://github.com/JayRJoshi
GSOC Proposal: Comprehensive Test Suite + Documentation
Abstract:
By the end of this project, strace will have covered test for every
syscall. Also, documentation of coding standards for strace will be
written. If coding standards have clear patterns so that they can be
converted to regular expressions, I would write script to enforce
coding standards as well.
Previous Projects:
In a previous semester, I’d developed an online judge, a platform
which lets you run a code and do correctness as well as efficiency
check for a particular problem definition and showing errors, if any
(https://github.com/JayRJoshi/OJ).
Besides that, I’ve coded Boolean Expression Optimiser, One-Player
Connect-4 game, some small programs like finding fibonacci number in
x86 assembly. I’d designed a game of pile, (like the 100 game) in
Logisim - a digital logic circuit simulator.
Currently, I’m experimenting on linux kernel. Specifically, My focus
is to improve process scheduler performance by statistical analysis.
Addition of new scheduler class or modification to CFS are considered.
Courses that I’ve taken up include Operating Systems, Computer
Architecture, Design and Analysis of Algorithms, Software Engineering,
Data Structures, Database Management Systems.
I’m a third year BTech Computer Engineering student from Nirma
University. Acadamic
Skills that will help me achieve a goal include C, Git, shell script,
regex, Makefiles.
Open Source Project Contributed to: Strace.
Preparatory work:
I think I understand strace codebase fair enough, in particular part
which steams out syscall output and /tests directory code. I’ve
submitted patches for getcwd syscall, added a function to libtests,
and fixed minor bug in scm_right-fd.test, also uname.c . I’ve gained
right intuition needed to complete this task.
Future work:
It’s just the deadline and mid-term evaluation that matters.
I’ve already started working on things which I must have a firm
understanding of to write tests for syscalls.
Here are some quick checklists:
-> Using qemu to test new tests for various architectures.
-> Learning more about architecture specific syscall details and quirks.
-> Learning sed.
-> Learning syscalls and relate it with other syscalls and their
pattern of tracing.
-> Learning networking related syscalls in details.
-> Linux kernel handling of syscalls (my academic project also
requires similar knowledge of the subject) in general detail.
-> Observation and discussion about coding standards.
Syscalls are nicely organized in different files already (like,
resource control related files in resource.c), so task will be divided
into covering different files in one go, rather than lone syscalls.
(except in rare occasions).
By mid-term, file related syscalls, resource related syscalls, signal
related and memory related syscalls should be added (at least).
The rest of syscalls: disk specific, net specific, etc will be added.
[ If you’ve suggestion to schedule it otherwise, please let me know ]
Moreover, I’ll submit documentation for coding standards (with reason
as to why you should follow a particular standard). If coding
standards will become very well defined such that I can write regular
expressions for that, I’ll be very happy to write script which enforce
coding standards.
Although, university will be started by end of July. I’ll be committed
to this work at the rest of the time.
More information about the Strace-devel
mailing list