Abstraction and specification in program development
Abstraction and specification in program development
Eiffel: the language
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
Software—Practice & Experience
Comparing observed bug and productivity rates for Java and C++
Software—Practice & Experience
iContract - The Java(tm) Design by Contract(tm) Tool
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Empirical Assessment of a Software Metric: The Information Content of Operators
Software Quality Control
Critical Issues in the Proposed ISO Object-Oriented COBOL 2002 Standard
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Real-time programming safety in Java and Ada
ACM SIGAda Ada Letters
Journal of Systems and Software
Securing Java code: heuristics and an evaluation of static analysis tools
Proceedings of the 2008 workshop on Static analysis
Hi-index | 4.10 |
Despite Java attributes (memory management, strong type checking, and built-in support for exception handling) that promote reliable, bug-free software, some features contribute to, rather than alleviate, programmer stress because they create obscure places for bugs to hide. The authors have identified seven features that can lead to particularly resistant bugs. Their goal is not to indict Java--they are strong supporters, and their own organizations have adopted Java as their primary programming language. Rather, they want programmers to better understand Java's weaknesses and know how to cope with them.Being aware of these design weaknesses (Java's false sense of protection, constructor confusion, finalizer methods, subclass substitution, container limitations, final parameters, and initialization diffusion), programmers can make sure that Java's design flaws don't make implementation more difficult than it has to be.