End-to-End Reconstruction and Rationale in Software Engineering
The content discusses the reconstruction and rationale of the OOM-Killer component in software engineering, focusing on decision-making processes and historical context. It covers topics such as memory management, process prioritization, and system calls to handle out-of-memory situations effectively. The Kantara pipeline is explored for information extraction and decision relationships, aiming to improve system performance and stability.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
ASE'22, NIER Track, Oakland Center, Michigan Dry-run @ SEMLA UdeM meeting End End- -to to- -End Reconstruction Reconstruction End Rationale Rationale Mouna Dhaouadi Bentley James Oakes Michalis Famelis Universit de Montr al, Montreal, Canada 1
Running Example Running Example Out-Of-Memory Killer (OOM-Killer) component Manually selected interesting commits from the Git history of OOM-Killer. Topic of "reclaiming used memory from the OOM victim". Suren mm : introduce process_mrelease system call September 2nd, 2021 Oom-kill: Oom: give the dying task a higher priroity August 9th, 2010 remove_dying_task_prio() April 14th, 2011 memcg: give current access to memory reserves if it's trying to die March 23rd, 2011 mm, oom: introduce oom reaper March 25th, 2016 2
Kantara: pipeline Kantara: pipeline for reconstruction reconstruction for end end- -to to- -end rationale end rationale Information Extraction pipeline Extracting Decision-Rationale triples Extracting Decision-Decision relationships Rationale extraction Decisions extraction Relatedness relationship Contradicts relationship Similar relationship History relationship Classification Semantic Role Labeling Classification Semantic Similarity Natural Language Inference Heuristics 3
Rationale Rationale and Decision Graph and Decision Graph Nodes: decisions and rationales Relationships: relatedness, similar, contradicts, history "so that it may quickly exit and free its memory" Decision #D2 give current access to memory reserves if it's trying to die. Date = March 23rd, 2011 rationale "reduces the probability of such a lockup" topic rationale history (contradicts) similar Topic Reclaiming the memory from the OOM victim Decision #D4 Introduce OOM reaper. Date = March 25th, 2016 topic topic Decision #D1 give the dying task a higher priority. Date = August 9th, 2010 topic Decision #D3 I and the original author Luis agreed to disable this logic. Date = April 14th, 2011 rationale topic history (contradicts) rationale Decision #D5 "memory is freed in a more controllable way with CPU affinity and priority of the caller" Introduce process_mrelease system call that releases memory of a dying process from the context of the caller. Date = September 2nd, 2021 "so that it can exit() soon, freeing memory" rationale "Eventually, kernel may hang up when oom kill occur" 4
Graph Graph Validation Validation Mechanisms Mechanisms Look for potential conflicts when a new decision is proposed. Decision #D2 give current access to memory reserves if it's trying to die. Date = March 23rd, 2011 history (contradicts) similar Suren Decision #D1 give the dying task a higher priority. Date = August 9th, 2010 Decision #D5 Introduce process_mrelease system call that releases memory of a dying process from the context of the caller. Date = September 2nd, 2021 Decision #D3 I and the original author Luis agreed to disable this logic. Date = April 14th, 2011 history (contradicts) 5
Prototype to evaluate feasibility Prototype to evaluate feasibility Evaluated on the Out-Of-Memory Killer (OOM-Killer) component Decisions extraction Rationale extraction Relatedness relationship Similar relationship Contradicts relationship History relationship 6
Kantara Kantara: End : End- -to to- -End End Rationale Rationale Reconstruction Reconstruction Decisions extraction Rationale extraction Relatedness relationship Similar relationship Contradicts relationship History relationship https://arxiv.org/abs/2209.00398 Future Work Future Work Kanatara and the Validation mechanisms implementation Thorough evaluation Recommendation module Thank you Thank you Questions? Want to discuss? Feel free to reach out ! http://www-ens.iro.umontreal.ca/~dhaouadm/ https://twitter.com/Mouna_DHAOUADI mouna.dhaouadi@umontreal.ca 7