Impact of Using a Static-Type System in Computer Programming

  title={Impact of Using a Static-Type System in Computer Programming},
  author={Ismail Rizky Harlin and Hironori Washizaki and Yoshiaki Fukazawa},
  journal={2017 IEEE 18th International Symposium on High Assurance Systems Engineering (HASE)},
Static-type systems are a major topic in programming language research and the software industry because they should reduce the development time and increase the code quality. Additionally, they are predicted to decrease the number of defects in a code due to early error detection. However, only a few empirical experiments exist on the potential benefits of static-type systems in programming activities. This paper describes an experiment that tests whether static-type systems help developers… 
1 Citations

Figures and Tables from this paper

When and how java developers give up static type safety

This dissertation focuses on the Unsafe API and cast operator—a subset of unsafe intrinsics and reflective capabilities respectively—in Java, and reports two empirical studies to understand how these mechanisms are used by Java developers when the static type system becomes too strict.



An experiment about static and dynamic type systems: doubts about the positive impact of static type systems on development time

An empirical study with 49 subjects that studies the impact of a static type system for the development of a parser over 27 hours working time finds that the existence of the statictype system has neither a positive nor a negative impact on an application's development time.

Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time

An empirical study with 21 subjects that compares programming tasks performed in Java and Groovy - programming tasks where the number of expected type casts vary in the statically typed language finds that the dynamically typed group solved the complete programming tasks significantly faster for most tasks - but for larger tasks with a higher number of type casts no significant difference could be found.

Types and programming languages

This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages.

A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking

Results indicate that delivered ANSI C programs contain significantly fewer interface defects than delivered K&R C programs, and after subjects have gained some familiarity with the interface they are using, AN SI C programmers remove defects faster and are more productive (measured in both delivery time and functionality implemented).

Work In Progress: an Empirical Study of Static Typing in Ruby

It was found that DRuby’s warnings rarely provided information about potential errors not already evident from Ruby’'s own error messages or from presumed prior knowledge, possibly limiting DRubys usefulness when used on small programs.

An Empirical Comparison of Seven Programming Languages

The author comparatively analyzes 80 implementations of the phone-code program in seven different languages, investigating several aspects of each language, including program length, programming effort, runtime efficiency, memory consumption, and reliability.

Popularity, Interoperability, and Impact of Programming Languages in 100,000 Open Source Projects

This study investigates a hundred thousands of open source software projects from GitHub to answer various research questions on the "popularity", "interoperability" and "impact" of various languages measured in different ways.

Application domain and programming language readability yardsticks

  • Mohammed AkourB. Falah
  • Computer Science
    2016 7th International Conference on Computer Science and Information Technology (CSIT)
  • 2016
This paper tries to investigate to which extent the readability factors considering different application domains are useful, and looks into the impact of these readability models on measuring software quality.

Should your specification language be typed

It may be possible to have the best of both worlds by adding typing annotations to an untyped specification language, and to serve as the basis for a specification language without types.

A large scale study of programming languages and code quality in github

It is reported that language design does have a significant, but modest effect on software quality, and among functional languages, static typing is also somewhat better than dynamic typing, and functional languages are slightly better than procedural languages.