121 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 02, February, 2016 International Journal of Computer Systems (ISSN: 2394-1065), Volume 03Issue 02, February, 2016 Available at http://www.ijcsonline.com/ Software Safety in Aviation Industry Kadupukotla Satish Kumar A and Panchumarthy Seetha Ramaiah B Ȧ Dept of Computer Science, JNTU Kakinada, India, satishkmca@yahoo.com Dept of Computer Science and Systems Engineering, AU Visakhapatnam, India, psrama@gmail.com Abstract On an average, more than 8 million people fly in around 100,000 commercial flights everyday around the world. Software plays a crucial role in the system. Even though accidents occur rarely and the role of software in those accidents is debatable still, learning from other domains, steps should be taken to ensure if any mishap occurs in future, software failure is not the cause for the accident. This paper proposes some safety measures that should be taken by software developers while developing software for aviation industry. Keywords: Software Safety, Aviation Industry. I. INTRODUCTION A general definition for safety is the "freedom from those conditions that can cause death, injury, illness, damage to or loss of equipment or property or cause environmental harm''. The definition of safety-critical software is more subjective. A generally accepted definition for Safety Critical Software is: "Software whose use in a system can result in unacceptable risk, safety- critical software includes software whose operation or failure to operate can lead to a hazardous state, software intended to recover from hazardous states, software intended to mitigate the severity of an accident''. The software safety standard published by the U.S. National Aeronautics and Space Administration (NASA) (NASA- STD-8719.13C) [10] identifies software as safety-critical if at least one of the following criteria is satisfied. It resides in a safety-critical system, at least one of the following: i. The degree of control that the software exercises over the systems safety critical functions. ii. The complexity of the software. From autonomous control of a hazard to timed intervention to engineering data evaluation, to human in the loop, greater complexity dramatically increases the chances of errors. iii. The timing criticality of hazardous control actions. iv. The likelihood a hazard will occur. v. The worst possible effect of the hazard (severity). It processes data or analyzes trends that lead directly to safety decisions. It provides full or partial verification or validation of safety-critical systems, including hardware or software system. From these definitions, it can be concluded that software by itself is neither safe nor unsafe; however, when it is part of a safety-critical system, it can cause or contribute to unsafe conditions [6]. This paper is organized as follows. In the next section we talk about importance of Safety Critical Software. In Section III we talk about Software in Aviation Industry. In Section IV we talk about the safety measures that should be taken for software in the aviation industry. In section V we present our conclusion. II. IMPORTANCE OF SAFETY CRITICALSOFTWARE The role of software has increased over the last 20 years. As software has become more pervasive, the system and safety processes have also evolved. The traditional analog and mechanical system failure analysis and reliability techniques do not work on software because of its complexity and uniqueness. Two points to be considered firstly, "Software uniqueness that drives the need for the development assurance process'' and secondly, ``How software fits into the system and safety process''. Software, unlike hardware, does not follow the laws of physics - it does not wear out or break under known conditions, or fail in predictable ways. Some other unique characteristics are follows: Programs can be complex and difficult to understand, even if they are short. Patriot Missile Defense System (1991) Software tends to improve with time because latent errors are discovered and corrected. Iran Air Flight 655 (1988) Correcting an error in one area can introduce another error which can be in a seemingly unrelated area. Software can interface with dozens or even hundreds of other software modules. Unlike hardware, software does not provide forewarning when it fails. Latent software errors