Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / January 2006

Tip: Looking for answers? Try searching our database.

Reproducibility of results of a multithreaded Java application

Thread view: 
I. Farbe - 17 Jan 2006 17:40 GMT
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
opalpa@gmail.com opalinski from opalpaweb - 17 Jan 2006 18:13 GMT
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
opalpa@gmail.com
http://www.geocities.com/opalpaweb/
John C. Bollinger - 18 Jan 2006 03:19 GMT
> I have inherited a complex multithreaded Java app about a year ago.  It
> continuously reads input data from a file and updates some data
[quoted text clipped - 10 lines]
> 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.

Signature

John Bollinger
jobollin@indiana.edu



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.