How Does Bug-Handling Effort Differ Among Different Programming Languages?
نویسندگان
چکیده
Handling bugs is an essential part of soware development. e impact of programming language on this task has long been a topic of much debate. For example, some people hold the view that bugs in Python are easy to handle because its code is easy to read and understand, while some others believe the absence of static typing in Python will lead to higher bug-handling eort. is paper presents the rst large-scale study to investigate whether the ecosystems of dierent (categories of) programming language would require dierent bug-handling eort. e focus is on correlation analysis rather than causal analysis. With 600 most popular projects in 10 languages downloaded from GitHub (summing up to 70,816,938 SLOC and 3,096,009 commits), the experimental results indicate various interesting ndings. First, dierent languages require dierent bug-handling eort. For example, Java and C# tend to need less time but more line/le modication, Python and PHP tend to need less time and less line/le modication, while Ruby and JavaScript tend to need more time as well as more line/le modication. Second, weak/dynamic languages tend to need more time than strong/static languages, while static languages tend to need more absolute line/le modication. A toy predictive model also provides proof that the inclusion of programming languages could improve the eectiveness when predicting the bug-handling eort of a project.
منابع مشابه
Dynamic Error Remediation: A Case Study with Null Pointer Exceptions
Managed programming languages have improved the robustness of software by reducing some classes of errors. Despite these improvements, programs still contain errors. Even with help from existing static and dynamic analysis tools, the errors are often difficult to detect and can be even more difficult to successfully eliminate. This work introduces a new approach, called dynamic error remediatio...
متن کاملLeveraging Human Intelligence: Semi-automated Processing in Assuring Access to Digital Content
Need for standardization in the content production industry have led producers of popular authoring and publishing applications to adopt structured mark-up languages, such as XML, to implement their content file formats. As part of our effort to ensure long term access to such content, we need to consider properties of the mark-up schemas and devise methods to enable effective mapping among the...
متن کاملAutomatically Detecting Error Handling Bugs Using Error Specifications
Incorrect error handling in security-sensitive code often leads to severe security vulnerabilities. Implementing correct error handling is repetitive and tedious especially in languages like C that do not support any exception handling primitives. This makes it very easy for the developers to unwittingly introduce error handling bugs. Moreover, error handling bugs are hard to detect and locate ...
متن کاملEnhancing CIMOSA with Exception Handling
CIMOSA (Open System Architecture for CIM) [2], an architecture for the modelling of manufacturing applications, does not provide a facility for exception definition and handling. Exceptions, traditionally associated to programming language and operating systems, are necessary in all types of languages, including specification languages. Our contribution consists of the enhancement of the CIMOSA...
متن کاملFirst-Class Functions in an Imperative World
First-class functions are a hallmark of functional languages, but they are a useful concept in imperative languages, too. Even ANSI C offers a restricted form of first-class functions (in the form of pointers to functions), and several more recent imperative languages, such as Python 3, Go, Lua, and Swift, offer first-class, anonymous functions with lexical scoping. In most imperative languages...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1801.01025 شماره
صفحات -
تاریخ انتشار 2018