Impact of Using a Static-Type System in Computer Programming

@article{Harlin2017ImpactOU,
  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)},
  year={2017},
  pages={116-119}
}
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.

References

SHOWING 1-10 OF 22 REFERENCES

An empirical study of the influence of static type systems on the usability of undocumented software

An exploratory study reports on a controlled experiment where 27 subjects performed programming tasks on an undocumented API with a static type system as well as a dynamic type system, showing that for some tasks, programmers had faster completion times using a statictype system, while for others, the opposite held.

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.

Towards a Unified Source Code Measurement Framework Supporting Multiple Programming Languages

This paper presents commonalities of measurable elements from various programming languages as the foundation for developing a unified framework for measuring source code that supports multiple programming languages and describes the approach used within the framework and also its preliminary development.

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.