Documenting and automating collateral evolutions in Linux device drivers

Y Padioleau, J Lawall, RR Hansen… - Acm sigops operating …, 2008 - dl.acm.org
The internal libraries of Linux are evolving rapidly, to address new requirements and
improve performance. These evolutions, however, entail a massive problem of collateral …

A graph-based approach to API usage adaptation

HA Nguyen, TT Nguyen, G Wilson Jr, AT Nguyen… - ACM Sigplan …, 2010 - dl.acm.org
Reusing existing library components is essential for reducing the cost of software
development and maintenance. When library components evolve to accommodate new …

Practical dynamic software updating for C

I Neamtiu, M Hicks, G Stoyle, M Oriol - ACM SIGPLAN Notices, 2006 - dl.acm.org
Software updates typically require stop** and restarting an application, but many systems
cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) …

Identifying linux bug fixing patches

Y Tian, J Lawall, D Lo - 2012 34th international conference on …, 2012 - ieeexplore.ieee.org
In the evolution of an operating system there is a continuing tension between the need to
develop and test new features, and the need to provide a stable and secure execution …

Precise and scalable detection of double-fetch bugs in OS kernels

M Xu, C Qian, K Lu, M Backes… - 2018 IEEE Symposium on …, 2018 - ieeexplore.ieee.org
During system call execution, it is common for operating system kernels to read userspace
memory multiple times (multi-reads). A critical bug may exist if the fetched userspace …

42 variability bugs in the linux kernel: a qualitative analysis

I Abal, C Brabrand, A Wasowski - Proceedings of the 29th ACM/IEEE …, 2014 - dl.acm.org
Feature-sensitive verification pursues effective analysis of the exponentially many variants of
a program family. However, researchers lack examples of concrete bugs induced by …

Dynamic software updates: a VM-centric approach

S Subramanian, M Hicks, KS McKinley - Proceedings of the 30th ACM …, 2009 - dl.acm.org
Software evolves to fix bugs and add features. Stop** and restarting programs to apply
changes is inconvenient and often costly. Dynamic software updating (DSU) addresses this …

{SymDrive}: Testing Drivers without Devices

MJ Renzelmann, A Kadav, MM Swift - 10th USENIX Symposium on …, 2012 - usenix.org
Device-driver development and testing is a complex and error-prone undertaking. For
example, testing errorhandling code requires simulating faulty inputs from the device. A …

Coccinelle: 10 years of automated evolution in the Linux kernel

J Lawall, G Muller - … Annual Technical Conference (USENIX ATC 18), 2018 - usenix.org
The Coccinelle C-program matching and transformation tool was first released in 2008 to
facilitate specification and automation in the evolution of Linux kernel code. The novel …

Meditor: inference and application of API migration edits

S Xu, Z Dong, N Meng - 2019 IEEE/ACM 27th International …, 2019 - ieeexplore.ieee.org
Developers build programs based on software libraries. When a library evolves,
programmers need to migrate their client code from the library's old release (s) to new …