The estimation of a programs’ reliability is an essential part in the process of software development. Existing methods for the analysis of software reliability are based on run-time data, program metrics, properties of development process or program architecture. The disadvantage of these methods is that they use indirect information about the errors, which are the main cause of program unreliability.
In the paper we present a novel approach for software reliability estimation. This approach is based on error detection using static source code analysis. We extend static analysis with developed algorithms which calculate error probabilities and program reliability characteristics. The characteristics are the probability of successfull program termination, the probability of the program is operable after execution of n statements, and mean number of executed statements before failure. The suggested approach has been implemented in the XXX tool and tested in numerous real-world software projects
Authors:
Mikhail Glukhih
Associate professor, Computer Systems & Software Engineering department, Saint Petersburg State Polytechnical University
Mikhail Glukhikh is associate professor of Computer Science and Program Engineering chair of Saint Petersburg State Polytechnical University. Since 2007, he is PhD in Computer Science. Since 2008, he is participant of research works in static code analysis. He Is an author of Aegis defect detection tool.
Mikhail Glukhikh is the lecturer of “Programming”, “Programming languages concepts”, “Systems and devices dependability” education courses.
He is author of 30 scientific papers, 10 of them are in the area of code analysis. Other areas of scientific interests are reliable systems synthesis and analysis and high-performance system programming.
Mikhail Moiseev
Associate professor, Computer Systems & Software Engineering department, Saint Petersburg State Polytechnical University; Senior researcher, DigitekLabs
In 1998 he graduated from Saint-Petersburg State Polytechnical University, in 2011 made PhD thesis on «Static analysis methods for automatic defect detection in multithreaded programs». He works as associated professor in computer systems and software engineering chair of SPbSPU and as senior researcher in DigitekLabs.
His fields of interest include: Software reliability evaluation and improvement, Software static analysis, Automatic software defect detection and correction, Parallel program analysis. He is an author of 30 publications in computer science.
He has taken part in several R&D projects on software analysis including development of automatic defect detection system in C/C++ programs and system for synchronization error detection in SystemC models.
Anatoly Karpenko
Lead programmer, Computer Systems & Software Engineering department, Saint Petersburg State Polytechnical University
Karpenko Anatoly is young professional in Computer Science area. He participated in a few research projects in this area during post-graduate education. Since 2009, he has master degree of Computer Science Department of Saint Petersburg State Polytechnical University. He is author of 5 scientific papers in different areas. His scientific interests are modern software development technologies, static code analysis, program testing, and software reliability estimation.
Harald Richter
Head of chair of Technical Informatics and Computer Systems, Clausthal University of Technology
Harald Richter is member of the board of governors of the German Computer Society (GI), member of the Society of Information Technology (ITG), the German Engineers Association (VDE), the German University Organization (DHV) and the Institute of Electrical Engineers (IEEE). He holds US-Patent number 5,175,539 and a German protection of utility patents about „Modular Interconnection Network“. His research interests are real-time local-area networks for cars, real-time parallel computer-architectures for embedded systems and cloud computing. He has currently 94 publications and 73 invited talks.
He has Doctoral degree in Electrical Engineering and Habilitation degree in Technical Informatics from Munich University of Technology. He is professor at the Universities of Augsburg and Göttingen, Germany. Since 2000, he is head of chair of Technical Informatics and Computer Systems at Clausthal University of Technology.