Today is a great day. I will try to explain why. As I mentioned in my intro-post our team is creating several different TCK’s. The area that I work on is so-called LANG – I develop tests for Java Language. Long ago, more than 2 years from now, we started to work on JLS 3 specification. We had to solve many problems which often occur during spec change (I promise to write more about that). Our team is finishing JCK 6a, lang tests is part of this JCK. Today I run the coverage scripts and we can finally say that we have 99% assertion coverage for JLS 3. To be more precise we have 99.4%. It means that we wrote tests for 99% of sentances in JLS 3 that we had marked as potentially testable. Isn’t it cool? I bet it is!
The work is certainly not over yet and will not be so - there are many reasons why more tests are needed :
depth coverage improvement – more tests for several assertions are needed;
there are sentances that are testable, but for several reasons we hadn’t marked them as potentially testable;
there will be JLS 4 soon, we should start working on it as soon as possible.
Different people might have opposite answers for a question in a title. Most would say "Yes, of course". Indeed 99% is almost 100%. And what is 100% – it is a perfection. 99% looks great, and it is great. But we must understand what this number stands for, and what can be improved. My opinion is "yes, it is great, colossal, tremendous; but no, it’s not enough, I want more, even more than 100%", that’s why I plan to create a script for depth coverage calculation.
Thanks to all SUN developers who did JCK-Lang work, thanks to people who helped (especially to compiler team) and certainly great thanks to all developers who use Java
I do read weblogs. I started reading them much more. Why am I doing this? Well.. I’m a believer that information sharing does make other people’s work more fun. And not only work, but people lives overall. Sharing knowledge and thoughts is a big step towards building communities. Weblog allows to publish thoughts, opinions, ideas, concerns to the readers. While the readers can open a dialog on a discussed topic using comments.
I wanted to create my personal weblog long ago, but I guess I finally made it.
I work as a software engineer in a group that creates a very important product. This product is not as well-known as Java or Solaris. I’d say most of software engineers in this huge world do not know about it. However without this product there will be no Java as we know it. At least Java will not be as good, as popular and as wide-spread as it is and as we want it to be. Without this product there will be no WORA (write once run anywhere). Yes, I’m talking about compatibility. And the product is a TCK (Technology Compatibility Kit) for Java. In two words TCK is a test suite, which makes sure that implementations of Java conform to the specification. My group works under several TCK’s. But the main one is for Java SE platform.
There are several different areas in JCK (TCK for Java SE): API, Java Language and VM.
My area that I work on for more than 2 years is "Java Language". I write compiler and runtime tests to make sure that Sun’s and other companies’ implementations behave exactly as it is said in the JLS (Java Language Specification).
In this weblog I will try to share my knowledge, my opinions and thoughts regarding my work.
PS: English is not my native language. That’s why I would like to apologize for possible mistakes (I’m sure there are many of them already) and weird sentances in my weblog. I’ll try to do my best.