
برنامهنويسي ايمن و استفاده از روشها، تكنيكها و ويژگيهاي ايمن در توسعه نرمافزارها، همواره مورد توجه بخشهاي صنعتي از جمله در حوزههاي هوايي، نفت و گاز، ريلي و خودروسازي بوده است تا جايي كه استانداردهاي متعددي براي توسعه نرمافزارهاي ايمن (Safe) ارائه شده است. يكي از بخشهاي مهمي كه اغلب استانداردهاي ايمني توسعه نرمافزار به آن توجه دارند، زبان، كامپايلر و سبك مورد استفاده براي برنامهنويسي است. در مورد سبك برنامهنويسي مقالات، بهترين تجربيات و يا دستورالعملهاي ايمني متعددي ارائه شده است كه از آن جمله ميتوان به MISRA C 2004 و MISRA C++ 2008 اشاره نمود كه مورد استقبال عمومي و همچنين ابزارهاي توسعه نرمافزار قرار گرفته است، اما نكته حائز اهميت در اين دستورالعملها، عدم وجود دلايل و نيز عدم پرداختن به نكاتي است كه ميبايست در تكنيكهاي برنامهنويسي خصوصاً در مورد حافظه رعايت شود. بخش CERT از آزمايشگاه مهندسي نرمافزار (SEI) دانشگاه Carnegie Mellon شروع به انتشار چنين نكات و قواعدي براي برنامهنويسي ايمن نموده است كه به تشريح جزئيات نكات ميپردازد و سبب ميشود تا برنامهنويس ضمن آموزش تكنيكهاي برنامهنويسي، جزئيات ايمني را نيز فرا گيرد. كتاب حاضر به نكات ايمني در برنامهنويسي C و ++C ميپردازد كه بخشي از آن و همچنين نكات بروز شده را ميتوانيد در اينجا مشاهده كنيد. خواندن اين كتاب به برنامهنويسان C و ++C توصيه ميشود و براي برنامهنويساني كه در حوزه ايمني فعاليت ميشود، اجباري! است.
ويرايش دوم اين كتاب شامل بخشهاي زير است:
- راه رفتن روي لبه شمشير
- رشتهها
- فريب اشارهگرها (Pointer Subterfuge)
- مديريت حافظه پويا
- ايمني اعداد صحيح
- خروجي قالببندي شده
- همروندي
- وردي- خروجي فايل
- تجربيات توصيهشده
نسخه بهزبان انگلیسی این کتاب را میتوانید از اینجا دانلود کنید.