Issue No.03 - May-June (2013 vol.30)
Diomidis Spinellis , Athens University of Economics and Business
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2013.61
Systems software is the low-level infrastructure that applications run on. As an applications programmer, first try to find existing systems software rather than writing it from scratch. Once you start writing systems software, use the most efficient algorithms and data structures that gracefully accommodate the workload. Have your code check for all error returns, block when it has nothing to do, and avoid repeatedly processing data in memory. You can accelerate stress testing your software by configuring your testing environment to exercise its edge cases. To debug your software, instrument it with copious amounts of configurable logging. The Web extra at http://youtu.be/b8wWr36CiE8 is an audio podcast of author Diomidis Spinellis discussing how with mean and lean code, paranoid testing, and comprehensive logging, programmers can write the systems software that their applications deserve.
System software, Testing, Algorithm design and analysis, Software algorithms, Data structures, debugging, systems software, construction, testing
Diomidis Spinellis, "Systems Software", IEEE Software, vol.30, no. 3, pp. 18-19, May-June 2013, doi:10.1109/MS.2013.61