350 руб
Журнал «Системы высокой доступности» №2 за 2016 г.
Статья в номере:
Мультиплатформенный метод обратной отладки виртуальных машин
Авторы:
П.М. Довгалюк - к.т.н., доцент, Новгородский государственный университет. E-mail: pavel.dovgaluk@gmail.com
М.А. Климушенкова - мл. науч. сотрудник, Новгородский государственный университет. E-mail: maria.klimushenkova@ispras.ru
Д.С. Дмитриев - мл. науч. сотрудник, Новгородский государственный университет. E-mail: denis.dmitriev@ispras.ru
В.А. Макаров - к.т.н., доцент, Новгородский государственный университет. E-mail: vladimir.makarov@ispras.ru
Аннотация:
Отмечено, что отладка и прототипирование новых аппаратных платформ, периферийных устройств и операционных систем осложняется недетерминированностью их поведения, воздействием отладчика на систему, длительностью процесса воспро-изведения ошибок, отказами всей системы и другими подобными факторами. Предложен метод детерминированного воспро-изведения работы виртуальных машин и показано, как он позволяет бороться со сложностями, возникающими при отладке. На основе разработанного подхода авторами создан мультиплатформенный полносистемный обратный отладчик, поддерживающий целевые платформы i386, x86-64, MIPS и ARM, протестированный для гостевых ОС Windows и GNU/Linux, с помощью которого становится возможным изучение сбоев без воздействия на их проявление, воспроизведение и многократное изучение состояния всей виртуальной машины и всех ее периферийных устройств, моделирование периферийных устройств и отладка пользовательского и системного кода. Установлено, что влияние на процесс отладки ограничено лишь вносимым при записи работы системы замедлением, которое незначительно влияет на работу гостевой системы и позволяет отлаживать критичные ко времени приложения.
Страницы: 3-12
Список источников
- Monton M., Portero A., Moreno M., Martinez B., Carrabina J. Mixed sw/systemc soc emulation framework // IEEE International Symposium on Industrial Electronics (ISIE 2007). June 2007. P. 2338−2341.
- Baklashov M. An on-line memory state validation using shadow memory cloning // Proceedings of the 17th International On-Line Testing Symposium. ser. IOLTS - 11. Washington, DC, USA: IEEE Computer Society. 2011. P. 186−189. [Online]. Available: http://dx.doi.org/10.1109/IOLTS.2011.5993837.
- Gray J. Why do computers stop and what can be done about it?. 1985.
- Engblom J. A review of reverse debugging // S4D. 2012.
- Chow J., Garfinkel T., Chen P.M. Decoupling dynamic program analysis from execution in virtual environments // USENIX 2008 Annual Technical Conference on Annual Technical Conference, ser. ATC-08. Berkeley, CA, USA: USENIX Association. 2008. P. 1−14. [Online]. Available: http://dl.acm.org/citation.cfm-id=1404014.1404015.
- Engblom J., Aarno D., Werner B. Full-system simulation from embedded to high-performance systems // Processor and System-on-Chip Simulation. Eds. Leupers R. and Temam O. Springer US. 2010. P. 25−45. [Online]. Available: http://dx.doi.org/10.1007/978-1-4419-6175-4_3.
- Bellard F. Qemu, a fast and portable dynamic translator // Proceedings of the Annual Conference on USENIX Annual Technical Conference, ser. ATEC - 05. Berkeley, CA, USA: USENIX Association. 2005. P. 41−41. [Online]. Available: http://dl.acm.org/citation.cfm-id=1247360.1247401.
- Dolan-Gavitt B., Hodosh J., Hulin P., Leek T., Whelan R. Repeatable reverse engineering for the greater good with panda0187. Oct. 2014.
- Liu H., Jin H., Liao X., Pan Z. Xenlr: Xen-based logging for deterministic replay // Proceedings of the 2008 Japan-China Joint Workshop on Frontier of Computer Science and Technology, ser. FCST - 08. Washington, DC, USA: IEEE Computer Society. 2008. P. 149−154. [Online]. Available: http://dx.doi.org/10.1109/FCST.2008.31.
- Dovgalyuk P. Deterministic replay of system-s execution with multi-target qemu simulator for dynamic analysis and reverse debugging // Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering, ser. CSMR - 12. Washington, DC, USA: IEEE Computer Society. 2012. P. 553−556.
- Boothe B. Efficient algorithms for bidirectional debugging // SIGPLAN Not. May 2000. V. 35. № 5. P. 299−310. [Online]. Available: http://doi.acm.org/10.1145/358438.349339.
- Chia-Wei S.S. Hsu. Free: A fine-grain replaying executions by using emulation, ser // The 20th Cryptology and Information Security Conference (CISC 2010). 2010.
- Jacobowitz D. and B.P. Reversible debugging. ser. GCC Developer-s Summit, 2007.
- Rittinghaus M., Miller K., Hillenbrand M., Bellosa F. Simuboost: Scalable parallelization of functional system simulation // Proceedings of the 11th International Workshop on Dynamic Analysis (WODA 2013). Houston. Texas. March 16 2013.
- Henderson A., Prakash A., Yan L.K., X. Hu, Wang X., Zhou R., Yin H. Make it work, make it right, make it fast: Building a platform-neutral whole-system dynamic binary analysis platform // Proceedings of the 2014 International Symposium on Software Testing and Analysis, ser. ISSTA 2014. New York, NY, USA: ACM. 2014. P. 248−258. [Online]. Available: http://doi.acm.org/10.1145/2610384.2610407.