X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sigcse2009%2Fprinciples.tex;h=9b015be34ca42462ed0f441a7a0a250e6fdf2ec0;hb=b8a1f89c3dcd584ebc1f91d9e1e8f42606d4df03;hp=221fb438fe8cea31663712e3639c4774ec14d7dc;hpb=00518d06da1411fe087ea2a5b84a80dc25f05fba;p=pintos-anon diff --git a/sigcse2009/principles.tex b/sigcse2009/principles.tex index 221fb43..9b015be 100644 --- a/sigcse2009/principles.tex +++ b/sigcse2009/principles.tex @@ -18,8 +18,7 @@ by example, the coding style we expect from students. %This style includes purely syntactical convention such as the choice of the %GNU indentation style, and extends to commenting style and naming conventions. We continuously refined the internal code documentation over several -semesters, focusing on those -portions that initially proved difficult to understand or confusing. +semesters, focusing on those portions that initially proved difficult to understand. \paragraph{Maximize Creative Freedom} OS design involves a tremendous amount of creative freedom, both in the @@ -30,8 +29,8 @@ own data structures and associated algorithms as much as possible. \paragraph{Practice Test-driven Development} %Test-driven development~\cite{Edwards} -Each project includes a large number of test cases that is accessible -to students, as shown in Table~\ref{table:tests}. +Each project includes a large number of test cases that are accessible +to students, as shown in Table~\ref{table:tests}. They must implement the API that is exercised by these test cases. Students are encouraged to add their own test cases. @@ -56,8 +55,9 @@ As a result, Pintos kernels can be debugged in a manner that is substantially similar to how user programs are being debugged. \paragraph{Include Analysis Tools} -Static and dynamic analysis tools are now being widely used; an OS course should -be no exception. In Section~\ref{sec:dynamicanalysis}, we describe how we +Dynamic analysis tools are now being widely used in software development; +an OS course should be no exception. +In Section~\ref{sec:dynamicanalysis}, we describe how we extended the QEMU emulator~\cite{Bellard2005QEMU} to perform tailored analyses that find errors such as race conditions.