5512

KAdvice: infering synchronization patterns from an existing codebase

Alexander Schmidt, Andreas Polze
Hasso Plattner Institute, Potsdam, Germany
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering, RSSE ’10, 2010

@inproceedings{schmidt2010kadvice,

   title={KAdvice: infering synchronization patterns from an existing codebase},

   author={Schmidt, A. and Polze, A.},

   booktitle={Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering},

   pages={31–35},

   year={2010},

   organization={ACM}

}

Source Source   

1376

views

Operating system kernels are complex software systems. The kernels of todays mainstream OSs, such as Linux or Windows, are composed from a number of modules, which contain code and data. Even when providing synchronous interfaces (APIs) to the programmer, large portions of the OS kernel operate in an asynchronous manner. Synchronizing access to kernel data structures therefore is a central problem in OS kernels running on todays multicore and multiprocessor hardware. With the need to utilize future multi- and manycore processors, managing the synchronization problem becomes central to all multithreaded control-parallel applications. Since only little software is written from scratch, understanding the intended use of locking constructs and their relation to shared data structures will become critical to all programmers. Built upon our experiences with developing code inside the Windows kernel, we have developed the KAdvice approach, which helps to analyze locking structures in an existing codebase. KAdvice applies static analysis to call graphs and code dependencies to recommend appropriate locking patterns when accessing certain data structures. KAdvice has itself proven very useful in context of students’ programming projects based upon the Windows Research Kernel (WRK). However, our approach is more general and applicable not only to OS kernels but to control-parallel software in general.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: