| Application of design for verification with concurrency controllers to air traffic control software |
| Full text |
Pdf
(183 KB)
|
| Source
|
Automated Software Engineering
archive
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
table of contents
Long Beach, CA, USA
SESSION: Validation and verification I
table of contents
Pages: 14 - 23
Year of Publication: 2005
ISBN:1-59593-993-4
|
|
Authors
|
|
Aysu Betin-Can
|
University of California, Santa Barbara, CA
|
|
Tevfik Bultan
|
University of California, Santa Barbara, CA
|
|
Mikael Lindvall
|
Fraunhofer Center for Experimental Software Engineering, College Park, MD
|
|
Benjamin Lux
|
Fraunhofer Center for Experimental Software Engineering, College Park, MD
|
|
Stefan Topp
|
Fraunhofer Center for Experimental Software Engineering, College Park, MD
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 7, Downloads (12 Months): 50, Citation Count: 6
|
|
|
ABSTRACT
We present an experimental study which demonstrates that model checking techniques can be effective in finding synchronization errors in safety critical software when they are combined with a design for verification approach. We apply the concurrency controller design pattern to the implementation of the synchronization operations in Java programs. This pattern enables a modular verification strategy by decoupling the behaviors of the concurrency controllers from the behaviors of the threads that use them using interfaces specified as finite state machines. The behavior of a concurrency controller can be verified with respect to arbitrary numbers of threads using infinite state model checking techniques, and the threads which use the controller classes can be checked for interface violations using finite state model checking techniques. We present techniques for thread isolation which enables us to analyze each thread in the program separately during interface verification. We conducted an experimental study investigating the effectiveness of the presented design for verification approach on safety critical air traffic control software. In this study, we first reengineered the Tactical Separation Assisted Flight Environment (TSAFE) software using the concurrency controller design pattern. Then, using fault seeding, we created 40 faulty versions of TSAFE and used both infinite and finite state verification techniques for finding the seeded faults. The experimental study demonstrated the effectiveness of the presented modular verification approach and resulted in a classification of faults that can be found using the presented approach.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
T. Cargill. Specific notification for Java thread synchronization. In Proc. of the 3rd PLoP, 1996.
|
| |
7
|
Sagar Chaki , Edmund Clarke , Alex Groce , Somesh Jha , Helmut Veith, Modular verification of software components in C, Proceedings of the 25th International Conference on Software Engineering, May 03-10, 2003, Portland, Oregon
|
| |
8
|
|
| |
9
|
R. DeLine and M. Fahndrich. Typestates for objects. In Proc. of ECOOP, pages 465--490, 2004.
|
| |
10
|
G. Dennis. TSAFE: Building a trusted computing base for air traffic control software, Master's Thesis, 2003.
|
| |
11
|
Matthew B. Dwyer , John Hatcliff , Roby Joehanes , Shawn Laubach , Corina S. Păsăreanu , Hongjun Zheng , Willem Visser, Tool-supported program abstraction for finite-state verification, Proceedings of the 23rd International Conference on Software Engineering, p.177-187, May 12-19, 2001, Toronto, Ontario, Canada
|
| |
12
|
|
| |
13
|
H. Erzberger. The automated airspace concept. In Proc. of USA/Europe Air Traffic Management R&D Seminar, 2001.
|
| |
14
|
H. Erzberger. Transforming the NAS: The next generation air traffic control system. In Proc. of the 24th Int. Congress of the Aeronautical Sciences, 2004.
|
| |
15
|
Advance automation system. Dep. of Transportation, Office of Inspector General, Audit Report, AV-1998-113, 1998.
|
| |
16
|
C. Flanagan and S. Qadeer. Thread-modular model checking. In Proc. of the SPIN Workshop, pages 213--224, 2003.
|
 |
17
|
Christopher Colby , Patrice Godefroid , Lalita Jategaonkar Jagadeesan, Automatically closing open reactive programs, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.345-357, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
18
|
Indus. http://indus.projects.cis.ksu.edu.
|
| |
19
|
|
| |
20
|
M. Lindvall and et al. An evolutionary testbed for software technology evaluation. NASA Journal of Innovations in Systems and Software Engineering, 1(1):3-11, 2005.
|
| |
21
|
P. C. Mehlitz and J. Penix. Design for verification using design patterns to build reliable systems. In Workshop on Component-Based Soft. Eng., 2003.
|
 |
22
|
|
| |
23
|
|
| |
24
|
Soot: a java optimization framework. http://www.sable.mcgill.ca/soot/.
|
| |
25
|
|
| |
26
|
O. Tkachuk and M. B. Dwyer. Adapting side-effects analysis for modular program model checking. In Proc. of ASE, pages 188--197, 2003.
|
| |
27
|
O. Tkachuk, M. B. Dwyer, and C. Pasareanu. Automated environment generation for software model checking. In Proc. of ESEC/FSE, pages 116--129, 2003.
|
| |
28
|
|
 |
29
|
|
CITED BY 7
|
|
|
|
|
|
|
|
|
|
|
Mikael Lindvall , Ioana Rus , Paolo Donzelli , Atif Memon , Marvin Zelkowitz , Aysu Betin-Can , Tevfik Bultan , Chris Ackermann , Bettina Anders , Sima Asgari , Victor Basili , Lorin Hochstein , Jörg Fellmann , Forrest Shull , Roseanne Tvedt , Daniel Pech , Daniel Hirschbach, Experimenting with software testbeds for evaluating new technologies, Empirical Software Engineering, v.12 n.4, p.417-444, August 2007
|
|
|
|
|
|
Shiva Nejati , Mehrdad Sabetzadeh , Marsha Chechik , Sebastian Uchitel , Pamela Zave, Towards compositional synthesis of evolving systems, Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, November 09-14, 2008, Atlanta, Georgia
|
|
|
|
|