Proving Liveness of Parameterized Programs
Correctness of multi-threaded programs typically requires that they satisfy liveness properties. For example, a program may require that no thread is starved of a shared resource, or that all threads eventually agree on a single value. This paper presents a method for proving that such liveness prop...
        Saved in:
      
    
          | Published in | Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science pp. 185 - 196 | 
|---|---|
| Main Authors | , , | 
| Format | Conference Proceeding | 
| Language | English | 
| Published | 
        New York, NY, USA
          ACM
    
        05.07.2016
     | 
| Series | ACM Conferences | 
| Subjects | 
                                    Software and its engineering
               >                 Software creation and management
               >                 Software development process management
           
      
                                    Software and its engineering
               >                 Software creation and management
               >                 Software verification and validation
           
      
                                    Software and its engineering
               >                 Software creation and management
               >                 Software verification and validation
               >                 Formal software verification
           
      
      
                                    Software and its engineering
               >                 Software organization and properties
               >                 Software functional properties
           
      
                                    Software and its engineering
               >                 Software organization and properties
               >                 Software functional properties
               >                 Formal methods
           
      
      
      
      
      
      
      
   | 
| Online Access | Get full text | 
| ISBN | 9781450343916 1450343910  | 
| DOI | 10.1145/2933575.2935310 | 
Cover
| Summary: | Correctness of multi-threaded programs typically requires that they satisfy liveness properties. For example, a program may require that no thread is starved of a shared resource, or that all threads eventually agree on a single value. This paper presents a method for proving that such liveness properties hold. Two particular challenges which are addressed in this work are that (1) the correctness argument may rely on global behaviour of the system (e.g., the correctness argument may require that all threads collectively progress towards "the good thing" rather than one thread progressing while the others do not interfere), and (2) such programs are often designed to be executed by any number of threads, and the desired liveness properties must hold no matter how many threads are active in the system. | 
|---|---|
| ISBN: | 9781450343916 1450343910  | 
| DOI: | 10.1145/2933575.2935310 |