Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Reproducibility of results of a multithreaded Java application

Reply
Thread Tools

Reproducibility of results of a multithreaded Java application

 
 
I. Farbe
Guest
Posts: n/a
 
      01-17-2006
Hello,

I have inherited a complex multithreaded Java app about a year ago. It
continuously reads input data from a file and updates some data
objects. These data objects are then used by decision-making classes
running on parallel threads. Yet another thread is used to
continuously check the state of the decision-making classes and produce
output based on the combined state.
There were some deadlock issues that I was able to fix. There may
still be some thread contention issues.
My question is following: Assuming that all threading issues are
resolved, is it possible for an application like the one described
above to always produce the same output when given the same input.
As it runs now, the output of the identical runs matches about 85% -
90%, so I am trying to figure out whether the discrepancy is due to yet
uncovered bugs in the system, or if it's an expected Java behavior.

Thank you in advance for any insight

 
Reply With Quote
 
 
 
 
opalpa@gmail.com opalinski from opalpaweb
Guest
Posts: n/a
 
      01-17-2006
http://javapathfinder.sourceforge.net/

"...systematically exploring all potential execution paths ..."
"...find violations of properties like deadlocks..."

NASA made a tool to explore their Java code. They made it available
for everyone. Maybe this tool can aid

Opalinski
http://www.velocityreviews.com/forums/(E-Mail Removed)
http://www.geocities.com/opalpaweb/

 
Reply With Quote
 
 
 
 
John C. Bollinger
Guest
Posts: n/a
 
      01-18-2006
I. Farbe wrote:
> I have inherited a complex multithreaded Java app about a year ago. It
> continuously reads input data from a file and updates some data
> objects. These data objects are then used by decision-making classes
> running on parallel threads. Yet another thread is used to
> continuously check the state of the decision-making classes and produce
> output based on the combined state.
> There were some deadlock issues that I was able to fix. There may
> still be some thread contention issues.
> My question is following: Assuming that all threading issues are
> resolved, is it possible for an application like the one described
> above to always produce the same output when given the same input.
> As it runs now, the output of the identical runs matches about 85% -
> 90%, so I am trying to figure out whether the discrepancy is due to yet
> uncovered bugs in the system, or if it's an expected Java behavior.


Given the generality of your actual question, I'd have to say, yes, it's
possible that a program such as you describe could have the property
that it always produces the same output from any given input. That
doesn't actually tell you, however, whether the differences you observe
in the outputs of your /particular/ program are the result of
unidentified bugs. It seems a strange angle from which to approach the
question, though; is not the uniqueness of the solution a characteristic
of the problem the program solves? If there are multiple correct
solutions then your program may be accurately modeling the problem
domain, but if your program produces multiple distinct(*) solutions when
there should only be one then it is clearly buggy.

* Note that solutions that are not identical may nevertheless not be
meaningfully distinct.

--
John Bollinger
(E-Mail Removed)
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Multithreaded application performance impact of global arrays groups@barnholt.net C Programming 3 03-17-2006 06:51 PM
Accessing a database from a multithreaded application Alan Kemp Python 2 11-23-2005 10:57 PM
Multithreaded tkinter GUI application exception handling Michael Zhang Python 2 10-14-2004 08:30 AM
Every ASP.NET application - a multithreaded windows app? Pavils Jurjans ASP .Net 7 06-02-2004 05:07 PM
Multithreaded Throughput Degradation in Java/Oracle Application Robert Brown Java 5 07-31-2003 05:05 AM



Advertisments