Interesting....are 400 test scripts enough?

From the Vocabulary list there are atleast (30 symbols per
column)*(3columns)*(2 forms) = 180 symbols. Add to this the foreign symbols.
I think the combinations that need to be tested are huge! Or is it that the
400 scripts test multiple combinations per script? How do you reduce from
the huge number of combinations to some specific ones unless the tests are
at some meta level that reduces the number to a manageable 400?

The reason I am interested is that in reasonably huge software, the number
of combinations are the killers for test cycles. I was wondering how
language's are validated since at the level of enterprise, the usage of the
software tends to the complexity of a programming language. Of course, the
level of formalism is different which could probably give programming
languages testing some advantage.

My question is more to do with how can one reduce the test combinations for
programing languages that ensures unlimited expression in the language.
Maybe I am asking a question that is already answered in any compiler book.
Still some insights here would be interesting to listen.

~Yuva

On 9/25/06, Roger Hui <[EMAIL PROTECTED]> wrote:

There is a set of about 400 test scripts.  Two
interpreters that can run these test scripts can not
deviate significantly from each other or from the language specified by
the J dicitionary.

Parts of the interpreter obviously do symbolic
computation.  e.g.

  *: b. _1
%:
  +: b. _1
-:
  +:@*: b. _1
%:@-:

  ^ t. i.10x
1 1 1r2 1r6 1r24 1r120 1r720 1r5040 1r40320 1r362880
  [EMAIL PROTECTED]: t. i.10x
1 2 2 4r3 2r3 4r15 4r45 8r315 2r315 4r2835
  +:@^ t. i.10x
2 2 1 1r3 1r12 1r60 1r360 1r2520 1r20160 1r181440
  (%-.-*:) t. i.13x
0 1 1 2 3 5 8 13 21 34 55 89 144

The "special code" described in Appendix B of the dictionary
http://www.jsoftware.com/help/dictionary/special.htm
implement certain recognized patterns using
more efficient code.  The recognition is symbolic
because the function definitions are being
analyzed and/or manipulated.  e.g.

  x=: 1e6 [EMAIL PROTECTED] 1e5
  y=: 1e6 [EMAIL PROTECTED] 1e5

  ts=: 6!:2 , 7!:[EMAIL PROTECTED]

  x (> i. 1:) y  NB. index of first place where x>y
0

  ts 'x (> i. 1:) y'
5.5873e_6 1152

The fork > i. 1: is recognized and implemented
efficiently.



----- Original Message -----
From: Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]>
Date: Sunday, September 24, 2006 6:20 pm
Subject: [Jgeneral] Intrigued by the Interpreter....

> Hello,
>
> As I am starting on J, I would like to know:
>
> 1) How is the J interpreter tested to verify & validate the
> properties of
> the various symbols of the language?
> I am particularly interested in knowing about how the rank
> semantics is
> validated.
>
> 2) Is it possible to introduce symbolic computation in functional
> languages,particularly J?


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to