{"title":"MIPS64 user mode emulation: A case study in open source software engineering","authors":"K. Butt, Ehsan-ul-Haq, A. Qadeer, A. Waheed","doi":"10.1109/ICET.2011.6048477","DOIUrl":null,"url":null,"abstract":"This paper presents our experience of developing Octeon MIPS64r2 ‘User Mode Emulation’ (UME) support into open source ‘Quick Emulator’ (QEMU). QEMU can emulate numerous target architectures. Like many other open source projects, available documentation of the software is either scant or stale. Modifying and extending such code becomes especially challenging due to the sheer size of the code base (654K lines of code spread over 1251 source files). Sporadic or no developer support makes things even more challenging. Therefore, a team of developers is effectively left with the source code to understand it and to correctly change it without causing any regression bugs. We overcame this challenge using methodical software engineering techniques. This paper discusses various problems that we encountered and solutions that we employed. In addition, we present QEMU's software architecture, which we constructed in a bottom-up manner using source code. We believe that such experiences are relevant for understanding and extending any software of substantial size.","PeriodicalId":167049,"journal":{"name":"2011 7th International Conference on Emerging Technologies","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 7th International Conference on Emerging Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICET.2011.6048477","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
This paper presents our experience of developing Octeon MIPS64r2 ‘User Mode Emulation’ (UME) support into open source ‘Quick Emulator’ (QEMU). QEMU can emulate numerous target architectures. Like many other open source projects, available documentation of the software is either scant or stale. Modifying and extending such code becomes especially challenging due to the sheer size of the code base (654K lines of code spread over 1251 source files). Sporadic or no developer support makes things even more challenging. Therefore, a team of developers is effectively left with the source code to understand it and to correctly change it without causing any regression bugs. We overcame this challenge using methodical software engineering techniques. This paper discusses various problems that we encountered and solutions that we employed. In addition, we present QEMU's software architecture, which we constructed in a bottom-up manner using source code. We believe that such experiences are relevant for understanding and extending any software of substantial size.