Software testing has been around for decades and many tools exist to aid developers in their testing process. However, little is known about the rate at which developers test their projects, the tools they use for these purposes and the impact of type systems on testing practices. Our work is the first of its kind to identify and classify available test tooling for programming languages Java, C, JavaScript and Ruby. By conducting a large scale automated analysis on open-source software projects, we show that both available test tooling and type systems have significant impact on codified testing strategies. Our observations are strengthened by targeted interviews and a large-scale survey among developers working with both statically and dyn...
Manually creating test cases is time consuming and error prone. Search-based software testing (SBST)...
Data from projects worldwide show that many software projects fail and most are completed late or ov...
Soft typing is an approach to type checking for dynamically typed languages. Like a static type chec...
Maintenance takes considerable effort in software development. Consequently, improving software main...
The ever increasing complexity of web applications has brought new demands on automated testing of J...
Some test amplification tools extend a manually created test suite with additional test cases to inc...
Branch coverage is an important measure of the thoroughness of testing. One can easily get tools tha...
This paper introduces the Checker Framework, which supports adding pluggable type systems to the Jav...
Manually creating test cases is time consuming and error prone. Search-based software testing can he...
Modern type systems for programming languages o er an expressive language for talking about software...
While test generators have the potential to significantly reduce the costs of software testing and h...
Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed p...
Since the early days of the development of programming languages, people have been developing variou...
The software industry is expanding at a rapid rate. To keep up with the fast-growing and ever-changi...
Graduation date: 2017The main goal of automated test generation is to improve the reliability of a p...
Manually creating test cases is time consuming and error prone. Search-based software testing (SBST)...
Data from projects worldwide show that many software projects fail and most are completed late or ov...
Soft typing is an approach to type checking for dynamically typed languages. Like a static type chec...
Maintenance takes considerable effort in software development. Consequently, improving software main...
The ever increasing complexity of web applications has brought new demands on automated testing of J...
Some test amplification tools extend a manually created test suite with additional test cases to inc...
Branch coverage is an important measure of the thoroughness of testing. One can easily get tools tha...
This paper introduces the Checker Framework, which supports adding pluggable type systems to the Jav...
Manually creating test cases is time consuming and error prone. Search-based software testing can he...
Modern type systems for programming languages o er an expressive language for talking about software...
While test generators have the potential to significantly reduce the costs of software testing and h...
Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed p...
Since the early days of the development of programming languages, people have been developing variou...
The software industry is expanding at a rapid rate. To keep up with the fast-growing and ever-changi...
Graduation date: 2017The main goal of automated test generation is to improve the reliability of a p...
Manually creating test cases is time consuming and error prone. Search-based software testing (SBST)...
Data from projects worldwide show that many software projects fail and most are completed late or ov...
Soft typing is an approach to type checking for dynamically typed languages. Like a static type chec...