Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Logic in computer science: modelling and reasoning about systems
Logic in computer science: modelling and reasoning about systems
An empirical study of operating systems errors
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Evolution in Open Source Software: A Case Study
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
CatchUp!: capturing and replaying refactorings to support API evolution
Proceedings of the 27th international conference on Software engineering
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
Program refactoring in the presence of preprocessor directives
Program refactoring in the presence of preprocessor directives
Understanding collateral evolution in Linux device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Thorough static analysis of device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
Checking system rules using system-specific, programmer-written compiler extensions
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
JQuery: a generic code browser with a declarative configuration language
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
Behavioral similarity matching using concrete source code templates in logic queries
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Towards easing the diagnosis of bugs in OS code
Proceedings of the 4th workshop on Programming languages and operating systems
The semantics of "semantic patches" in Coccinelle: program transformation for the working programmer
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
CTL as an intermediate language
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
Using twinning to adapt programs to alternative APIs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Hi-index | 0.00 |
Developing and maintaining drivers is known to be one of the major challenges in creating a general-purpose, practically-useful operating system [1, 3]. In the case of Linux, device drivers make up, by far, the largest part of the kernel source code, and many more drivers are available outside the standard kernel source tree. New drivers are needed all the time, to give access to the latest devices. To ease driver development, Linux provides a set of driver support libraries, each devoted to a particular bus or device type. These libraries encapsulate much of the complexity of interacting with the device and the Linux kernel, and impose a uniform structure on device-specific code within a given bus or device type.