Prerequisites: Undergraduate computer architecture (CS211 or ECE331) Undergraduate software design/programming (CS113 or ECE252) The programming assignments require good programming skills and a lot of timeand effort. Note that these requirements are very serious; you will not be ableto keep up with this course's load, if you don't have the suggested background,programming skills, and time. Even if you do have the background and theskills, the course is very heavy on reading and programming assignments, socome very motivated! Course overviewCS416 is a senior undergraduate-level course in operating systems. We willcover the basic concepts in operating systems, such as processes, threads,virtual memory, file systems, and communication protocols. If time permits, we will also cover a few interesting research topics, such as operating systemsecurity and intrusion detection. For the programming assignments, we will beusing C. You are expected to be comfortable with the use of the C programminglanguage and associated tools, such as debuggers.
The aim of this article is to present experimental results related to static verification of programming rules. The experiment reported bears on 10 industrial software projects. The source code (C and C++) has been statically analysed to check for conformance to a set of programming rules. The results show that a significant amount of the defects identified are actually software faults that may lead to failures during execution. This article explains the verification method used and discusses tools for such verification. It analyses the results and formulates the recommendation to perform static verification of source code in a systematic way. d2c66b5586