Debug all your code

Author:

Lee Byeongcheol1,Hirzel Martin2,Grimm Robert3,McKinley Kathryn S.1

Affiliation:

1. University of Texas at Austin, Austin, TX, USA

2. IBM Watson Research Center, Hawthorne, USA

3. New York University, New York, USA

Abstract

Programmers build large-scale systems with multiple languages to reuse legacy code and leverage languages best suited to their problems. For instance, the same program may use Java for ease-of-programming and C to interface with the operating system. These programs pose significant debugging challenges, because programmers need to understand and control code across languages, which may execute in different environments. Unfortunately, traditional multilingual debuggers require a single execution environment. This paper presents a novel composition approach to building portable mixed-environment debuggers, in which an intermediate agent interposes on language transitions, controlling and reusing single-environment debuggers. We implement debugger composition in Blink , a debugger for Java, C, and the Jeannie programming language. We show that Blink is (1) relatively simple: it requires modest amounts of new code; (2) portable: it supports multiple Java Virtual Machines, C compilers, operating systems, and component debuggers; and (3) powerful: composition eases debugging, while supporting new mixed-language expression evaluation and Java Native Interface (JNI) bug diagnostics. In real-world case studies, we show that language-interface errors require single-environment debuggers to restart execution multiple times, whereas Blink directly diagnoses them with one execution. We also describe extensions for other mixed-environments to show debugger composition will generalize.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference37 articles.

1. C. Bailey. Java technology IBM style: Introduction to the IBM developer kit. http://www.ibm.com/developerworks/java/library/j-ibmjava1.html May 2006. C. Bailey. Java technology IBM style: Introduction to the IBM developer kit. http://www.ibm.com/developerworks/java/library/j-ibmjava1.html May 2006.

2. The DaCapo benchmarks

3. P. Bothner. Compiling Java with GCJ. http://www.linuxjournal.com/article/4860 Jan. 2003. P. Bothner. Compiling Java with GCJ. http://www.linuxjournal.com/article/4860 Jan. 2003.

4. Free Standards Group. DWARF 3 debugging information format. http://www.dwarfstd.org/Dwarf3.pdf Dec. 2005. Free Standards Group. DWARF 3 debugging information format. http://www.dwarfstd.org/Dwarf3.pdf Dec. 2005.

Cited by 7 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Design smells in multi-language systems and bug-proneness: a survival analysis;Empirical Software Engineering;2024-07-03

2. Multi-language design smells: a backstage perspective;Empirical Software Engineering;2022-05-30

3. Are Multi-Language Design Smells Fault-Prone? An Empirical Study;ACM Transactions on Software Engineering and Methodology;2021-05

4. Cross-Language Interoperability in a Multi-Language Runtime;ACM Transactions on Programming Languages and Systems;2018-06-02

5. Composable multi-level debugging with Stackdb;ACM SIGPLAN Notices;2014-09-25

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3