ACM Home Page
Please provide us with feedback. Feedback
Application of design for verification with concurrency controllers to air traffic control software
Full text PdfPdf (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
ACM: Association for Computing Machinery
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 50,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1101908.1101914
What is a DOI?

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
 
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
 
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
 
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

Collaborative Colleagues:
Aysu Betin-Can: colleagues
Tevfik Bultan: colleagues
Mikael Lindvall: colleagues
Benjamin Lux: colleagues
Stefan Topp: colleagues