You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(5) |
Jun
(2) |
Jul
(9) |
Aug
(7) |
Sep
(4) |
Oct
(7) |
Nov
(20) |
Dec
(5) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(1) |
Feb
(8) |
Mar
(17) |
Apr
(25) |
May
(7) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(14) |
Oct
(5) |
Nov
(1) |
Dec
(5) |
| 2007 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(4) |
Sep
(8) |
Oct
(7) |
Nov
(2) |
Dec
(11) |
| 2008 |
Jan
(1) |
Feb
(9) |
Mar
(3) |
Apr
(8) |
May
(2) |
Jun
(6) |
Jul
(5) |
Aug
(13) |
Sep
(2) |
Oct
(7) |
Nov
(3) |
Dec
(28) |
| 2009 |
Jan
(10) |
Feb
(19) |
Mar
(12) |
Apr
(10) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
| 2010 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
|
From: Samuel B. <sam...@gm...> - 2015-10-12 18:00:57
|
Hello,
I am a PhD student at Brazil and am currently using JPF on my doctoral work.
I have a question about JPF: do you know any resource on JPF that allows
model checking infinitely recursive programs? Theoretically the
verification of these programs would never finish, but wouldn't it be
possible to model check them in a finite time?
Ex:
*import gov.nasa.jpf.vm.Verify;public class ProcessVerify { public
static void infiniterec () { int inf = Verify.getInt(0, 1);
System.out.println ("inf == " + inf); infiniterec2 (); }
public static void infiniterec2 () { int inf2 = Verify.getInt(0,
1); System.out.println ("inf2 == " + inf2); infiniterec
(); } public static void main (String [] args) {
infiniterec(); }}*
How could we model check the previous program in a finite time? Do you know
how to do that?
Best,
|
|
From: Peter M. <Pet...@na...> - 2010-04-19 18:07:12
|
we are still getting subscriptions for the old sourceforge mailing lists. Please note that we have consolidated the mailing lists into one Google group on http://groups.google.com/group/java-pathfinder and update your subscriptions accordingly. Thanks, -- Peter |
|
From: Corina P. <Cor...@na...> - 2010-03-24 17:28:32
|
prateek sinha wrote: > Does JPF forms the Kripke Structure of a given Java byte code . If yes , in > which file is it stored > > Hi: JPF does not build a Kripke structure explicitly: it explores the Java program on the fly (and it stores the explored program states). -- Corina Pasareanu, PhD CMU/NASA Ames http://ti.arc.nasa.gov/profile/pcorina/ |
|
From: prateek s. <pra...@gm...> - 2010-03-24 16:06:00
|
Does JPF forms the Kripke Structure of a given Java byte code . If yes , in which file is it stored -- Regards, Prateek Kumar Sinha CSE , Final Year MNNIT , Allahabad |
|
From: Neha R. <neh...@gm...> - 2010-01-30 01:09:16
|
Hello Everyone, We are moving the mailing lists from the sourceforge to googlegroups. You can subscribe to the new mailing list at: http://groups.google.com/group/java-pathfinder/subscribe We are consolidating the developers and users mailing lists into a single list. This move is a part of moving JPF from sourceforge to a server at NASA Ames Research Center. *JPF continues to remain open source* with its different extensions now available as separate projects. As a reminder, details about downloading and installing JPF can be found on the new JPF wiki at: http://babelfish.arc.nasa.gov/trac/jpf We look forward to your continued participation and interest in JPF and its extensions. Cheers, Neha -- ------------------------------------------------- Neha Rungta Research Scientist Robust Software Engineering Group SGT/NASA Ames Research Center Moffett Field, CA 94035 -------------------------------------------------- |
|
From: Neha R. <neh...@gm...> - 2009-10-30 22:37:16
|
Hello Everyone, As you all know the JPF location has moved to http://babelfish.arc.nasa.gov/trac/jpf Search engines still, however, bring up the sourceforge page. In an effort to point new and other existing users to the new JPF home we ask you to please update on your research and personal webpages the JPF links from sourceforge to the babelfish link shown above. And if you don't have a reference to JPF, this would be a great time to add one. We are hoping this will help in upping the google-juice and other search engines ranking scores for the new JPF home. Thanks, Neha -- ------------------------------------------------- Neha Rungta Research Scientist Robust Software Engineering Group SGT/NASA Ames Research Center Moffett Field, CA 94035 -------------------------------------------------- |
|
From: Peter M. <pet...@na...> - 2009-10-21 17:10:33
|
babelfish.arc.nasa.gov will be down on Friday 10/23 5pm, due to some infrastructure work. All should be back to normal on Monday 10/26 Sorry for the inconvenience -- Peter |
|
From: Peter M. <Pet...@na...> - 2009-10-07 17:49:00
|
Please have a look at our blog on
http://babelfish.arc.nasa.gov/trac/jpf/blog
to stay on top of JPF changes that might be of interest for you. The
idea is that everybody who adds documentation or changes code that
might be relevant to others posts a short note there
-- Peter
|
|
From: Peter M. <Pet...@na...> - 2009-09-28 02:18:56
|
It is done - JPF has found its new home on:
http://babelfish.arc.nasa.gov/trac/jpf
JPF has moved to its own server that is hosted at the NASA Ames
Research Center. First and foremost - this does not change the
licensing or public read access. JPF continues to be open source.
The reason for this move was twofold:
(1) extensions have become so numerous that we need to split them into
their own projects (which can be hosted on the new server). JPF
extensions do not necessarily coexist, and not many people work with
more than one at a time, so they shouldn't convolute the JPF
distribution and fight for classpath priorities. Since we still want
to keep the jpf core and all our current extensions together, we
needed more than one repository for JPF. Now we have Mercurial
repositories for (eventually) each of them, all can be loaded as
separate projects into your favorite IDE. You can follow the status of
JPF projects (core and extensions) on http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/start
(2) JPF is increasingly used as a production tool, so its user
documentation becomes crucial. A wiki is much more suitable than the
old static website to keep things up-to-date and facilitate
collaborative development. The caveat is that we need strong
hierarchical navigation for the JPF docu. So we wanted to have control
over our wiki, and have chosen Trac so that we can integrate the docu
with issue management and (eventually) the Mercurial repositories.
Splitting core and extensions also required a new JPF configuration/
bootstrapping mechanism, which now uses site- and per-project
configuration files, in addition to the old default.properties and the
*.jpf application properties. Details on http://babelfish.arc.nasa.gov/trac/jpf/wiki/user/config
Speaking of *.jpf application properties - they are also the basis for
the new jpf-shell infrastructure, which finally unifies the plugins,
and uses standalone swing applications as graphical front ends of JPF
(while still being able to communicate with the Eclipse/NetBeans IDEs).
The Sourceforge repository will stay, i.e. people can choose when to
port their extensions. However, the JPF core in the Sourceforge
Subversion repository will not be updated anymore - be aware of that
code bases will diverge quickly, and our live site is now on http://babelfish.arc.nasa.gov/trac/jpf
.
Check out http://babelfish.arc.nasa.gov/trac/jpf/blog and the rest of
the (evolving) Wiki to find details about other technical and
distribution changes.
If you are a maintainer of a current JPF extension and need write
access for the new repositories or the Wiki, please go to http://babelfish.arc.nasa.gov/trac/jpf/wiki/about/account
and register for an account on the new server.
The new server does not (yet) have mailing lists, which means we will
keep the Sourceforge mailing lists open for the time being.
-- the JPF team
|
|
From: Anthony A. <aa...@cs...> - 2009-09-15 03:06:20
|
Hello all,
I do hope this is the appropriate forum for sending out a question. If
not, please accept my sincerest apologies. I have posted in the
SourceForge forum but it looks quite tranquil there.
When running JPF against a set of dynamically spawning Thread
subclasses, I receive a java.lang.ArrayStoreException assigning a
variable declared as int to an initialized object-level array of ints.
I'm not sure how this is possible. When I run the code outside of JPF
I never receive this exception. Even stranger, under JPF the line
executes several times successfully and then fails with this
exception. All of this is sequential, taking place in a single thread.
Is there anything anyone is aware of that JPF might be doing to
conceivably attempt to assign a non-integer value here, when the
variable on the right of the assignment is explicitly (and locally)
declared int? I'm utterly at a loss about this.
I would heartily appreciate any insight anyone has on this. The code
in question is as follows:
public int[] fire(int[] m, int e) {
int[] n = m.clone();
for(int z: n) System.out.println("[ -> " + z);
System.out.println("------");
int i;
int t = getTransition(e);
if(t == -1) return null;
for(i = 0; i < arcs[t][0].length; i++) {
n[arcs[t][0][i][0]] -= arcs[t][0][i][1]; // *** ArrayStoreException
occurs *here* ***
if(n[arcs[t][0][i][0]] < 0)
return null;
}
for(i = 0; i < arcs[t][1].length; i++)
n[arcs[t][1][i][0]] += arcs[t][1][i][1];
return n;
}
|
|
From: Arnab De <arn...@gm...> - 2009-08-27 14:09:03
|
Hi, I installed JPF from SVN today (27th Aug). I can build it and run from the root directory, but when I try to run it from some different directory (for example build/examples) it gives the following error. $../../bin/jpf +vm.classpath=. Racer [WARNING] orphant NativePeer method: java.lang.ClassLoader.init0()V [WARNING] orphant NativePeer method: java.lang.ClassLoader.getResourcePath(Ljava/lang/String;)Ljava/lang/String; [WARNING] orphant NativePeer method: java.lang.Thread.setDaemon0(Z)V [WARNING] orphant NativePeer method: java.lang.Thread.setName0(Ljava/lang/String;)V [WARNING] orphant NativePeer method: java.lang.Thread.init0(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V [WARNING] orphant NativePeer method: java.lang.System.createSystemOut()Ljava/io/PrintStream; [WARNING] orphant NativePeer method: java.lang.System.createSystemErr()Ljava/io/PrintStream; [WARNING] orphant NativePeer method: java.lang.System.getKeyValuePairs()[Ljava/lang/String; [SEVERE] error during VM runtime initialization: wrong model classes (check vm.[boot]classpath) Also, I cannot build it with eclipse (version 3.2). Please tell me if I'm making some mistake. I'm using Java 1.6. Thanks and regards, Arnab -- Arnab De ----------------------------------------------------------- Graduate Student. Computer Science and Automation Department, Indian Institute of Science, Bangalore. http://arnabde03.googlepages.com/ ----------------------------------------------------------- |
|
From: Pavel P. <pa...@ds...> - 2009-06-26 08:35:12
|
Hello, my name is Pavel Parizek. I am the main developer of the newly added extension "RTEmbed". The extension is aimed at verification of Java programs for real-time and embedded platforms, in particular (but not exclusively) of Java programs compliant with RTSJ. Currently, it includes a checker of RTSJ memory access rules and an optimization of state space traversal that is based on platform-specific restrictions of concurrency. The restrictions are described in P.Parizek and Tomas Kalibera. Platform-Specific Restrictions on Concurrency in Model Checking of Java Programs, In FMICS 2009, LNCS, to appear. PDF of the paper is available at http://dsrg.mff.cuni.cz/publications/ParizekKalibera-RestrictConcurrency.pdf. In future, we plan to add support for other kinds of runtime errors introduced by RTSJ and to develop additional domain-specific optimizations of state space traversal. The extension is in the "rtembed" directory. Additional information on configuration and running are in the Readme file. With questions or bug reports, please contact me at pa...@ds.... Regards, Pavel -- Pavel Parizek, Ph.D. Researcher Distributed Systems Research Group http://dsrg.mff.cuni.cz/~parizek Phone: (+420) 2 2191 4235 Fax: (+420) 2 2191 4323 __________________________________ Department of Software Engineering Faculty of Mathematics and Physics Charles University in Prague Malostranske namesti 25 11800 Prague 1, Czech Republic |
|
From: Watcharin L. <wat...@us...> - 2009-03-13 04:46:11
|
Hello, My name is Watcharin. I am a developer of the newly added JPF extension "net-iocache". Net-iocache is an extension for verifying networked applications. JPF executes one of the processes in an application, whereas the others run on the standard Java virtual machine. Net-iocache captures inputs/outputs of the target program and replays them when the program needs again after backtracking. The algorithm to be run in Net-iocache is presented in C. Artho, W. Leungwattanakit, M. Hagiya, and Y. Tanabe. Efficient model checking of networked applications. In Proc. TOOLS EUROPE 2008, volume 19 of LNBIP, pages 22–40, Zurich, Switzerland, 2008. Springer. For any information or to report problems, please contact: Watcharin Leungwattanakit: wat...@is... Regards, Watcharin Leungwattanakit |
|
From: ZHU H. <ry...@us...> - 2009-03-08 16:34:50
|
Dear Sir or madam,
I tried the example under "~/trunk/extensions/symbc/examples/coverage"
this week to see how the symbolic execution runs.
As it is said that "The trickiest part here is
CheckCoverage.processTestCase()". But what I got from the symbolic
execution is like this:
Property Violated: PC is # = 3
int_2_SYMINT[-10000] < CONST_5 &&
int_1_SYMINT[-10000] < CONST_0 &&
(int_2_SYMINT[-10000] + int_1_SYMINT[-10000]) <= CONST_0
Property Violated: result is
"java.lang.reflect.InvocationTargetException: in
coverage.CheckCoverage.processTestCase :
java.lang.NullPointerException..."
****************************
====================================================== error #8
gov.nasa.jpf.jvm.NoUncaughtExceptionsProperty
java.lang.reflect.InvocationTargetException: in
coverage.CheckCoverage.processTestCase : java.lang.NullPointerException
at coverage.CheckCoverage.processTestCase(Native Method)
at
coverage.MyClassWithPathAnnotations.myMethod(MyClassWithPathAnnotations.java:34)
at
coverage.MyDriverForPathAnnotations.main(MyDriverForPathAnnotations.java:7)
====================================================== trace #8
------------------------------------------------------ transition #0
thread: 0
gov.nasa.jpf.jvm.choice.ThreadChoiceFromSet {>main}
[487 insn w/o sources]
------------------------------------------------------ transition #1
thread: 0
gov.nasa.jpf.symbc.numeric.PCChoiceGenerator[0..0,delta=+1,cur=0]
[15 insn w/o sources]
------------------------------------------------------ transition #2
thread: 0
gov.nasa.jpf.symbc.numeric.PCChoiceGenerator[0..1,delta=+1,cur=1]
[4 insn w/o sources]
------------------------------------------------------ transition #3
thread: 0
gov.nasa.jpf.symbc.numeric.PCChoiceGenerator[0..1,delta=+1,cur=0]
[4 insn w/o sources]
------------------------------------------------------ transition #4
thread: 0
gov.nasa.jpf.symbc.numeric.PCChoiceGenerator[0..1,delta=+1,cur=1]
[4 insn w/o sources]
====================================================== Method Summaries
myMethod(-1,2) --> "java.lang.reflect.InvocationTargetException: in
coverage.CheckCoverage.processTestCase :
java.lang.NullPointerException..."
...
...
Here is my platform infos:
Linux 2.6.22-14-server #1 SMP Tue Feb 12 03:10:53 UTC 2008 x86_64 GNU/Linux
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
And my jpf.properties:
vm.classpath = .
vm.sourcepath+= ,${user.home}/tmp
vm.storage.class=
symbolic.method=myMethod(sym#sym)
search.multiple_errors=true
jpf.report.console.finished=
coverage.MyDriverForPathAnnotations
vm.insn_factory.class = gov.nasa.jpf.symbc.SymbolicInstructionFactory
jpf.listener = gov.nasa.jpf.symbc.SymbolicListener
log.level=warning
I typed this command:
:~/trunk/extensions/symbc/examples$ ~/trunk/bin/jpf -c
coverage/jpf.properties coverage.MyDriverForPathAnnotations
I really don't how to get through this. The trickest
CheckCoverage.processTestCase() is what I am interested in. Would you
please tell me what's going on with the error I got?
Thank you.
Best regards
ZHU Hua
|
|
From: Hamasaki D. <dis...@so...> - 2009-02-28 10:06:44
|
New Orrgasm Enhancer Explain all i am and all i want. And i shouldn't the second table. The family were not at home. It, owing to the dense vegetation near the waterrather the country might afford. we started from santa understand god in the least degree, as well as. |
|
From: ZHU H. <ry...@us...> - 2009-02-23 14:47:28
|
Dear Sir or madam, I tried the example in http://javapathfinder.sourceforge.net/sw_model_checking.html I typied "java gov.nasa.jpf.JPF Rand_test" and "bin\jpf Rand_test", both came to an error like this: F:\HKUST\recrash\jpf>java gov.nasa.jpf.JPF Rand_test java.lang.UnsatisfiedLinkError: sun.misc.Unsafe.registerNatives (no peer) at sun.misc.Unsafe.<clinit>(sun\misc\Unkown:0) at java.util.concurrent.atomic.AtomicLong.<clinit>(java\util\concurrent\ atomic\Unkown:0) at java.util.Random.<init>(java\util\Unkown:10) at Rand_test.main(Rand_test.java:5) ----------------------------------- path to error (length: 1) Transition #0 Thread #0 Rand_test.java:5 Random random = new Random(42); // (1) [no source for: java\util\Unkown] [no source for: java\lang\Object.java] [no source for: java\util\Unkown] [no source for: java\util\concurrent\atomic\Unkown] [no source for: sun\misc\Unkown] ------------------------------------ end error path ------------------------------------ thread stacks Thread: main at sun.misc.Unsafe.<clinit>(sun\misc\Unkown:0) at java.util.concurrent.atomic.AtomicLong.<clinit>(java\util\concurrent\ atomic\Unkown:0) at java.util.Random.<init>(java\util\Unkown:10) at Rand_test.main(Rand_test.java:5) ------------------------------------ end thread stacks =================================== 1 Error Found: uncaught exception =================================== Is the problem caused by the lack of the libraries? How can I fix this? Thank you. Best regards ZHU Hua |
|
From: jiangfan s. <jia...@gm...> - 2009-01-22 20:34:16
|
Thanks very much, Corina. I would like to read this paper again more carefully first, modify my procedure to extend the JPF-SE to support array in my last email, and then send it back to you to check if the procedure is right or not. Best, Jiangfan On Thu, Jan 22, 2009 at 1:56 PM, Corina Pasareanu < Cor...@na...> wrote: > Hello: > > I assume you want to add array support in Symbolic JPF (i.e. JPF's symbc > extension). > That would be a good thing to do :) > For a start, you may want to take a look at the following paper, that > describes briefly the array support in our old version of symbolic > execution: > > Verification of Java Programs using Symbolic Execution and Invariant > Generation <http://ti.arc.nasa.gov/m/profile/pcorina/papers/spin04.ps>, > /Corina S. Pasareanu, Willem Visser/, in Proceedings of the the 11th > International SPIN Workshop on Model Checking of Software, 2004. > > With the techniques described above, you don't need array logic support in > the decision procedure. > > Best regards, > Corina > > > jiangfan shi wrote: > >> Hello, Corina, >> >> I am trying to add a very heuristic support for the array type due to my >> research requirement. I found there is a package named >> gov.nasa.jpf.symbolic.array, which includes some array related classes, such >> as ArrayIntStructure.java, ArrayBoolStructure.java. >> >> I have two understandings here, and I wonder if they are right or not. >> >> 1. The ArrayIntStructure class is a symbolic representation of >> array type via a vector, and it fulfills an array logic >> including read and write axioms, via to its' associated >> operations including set and get methods. >> 2. What I need to do for supporting array in JPF is the following: >> * call ArrayIntStructure constructor to do an array type >> initialization from the execute() method of >> BytecodesUtils.java * for every operators, such as >> add, minus, load, ifle etc., >> I need to check if an operand is an array type, and if so, >> call set or get methods in ArrayIntStructure class. >> * finally I need to transform some array-related path >> conditions to the format which is consistent with cvc3 or >> other decision procedures supporting array logic. I should >> do this in the SymbolicConstraintsGeneral class. >> Am I right for these two understandings? >> >> Thanks in advance, and any hint is highly appreciated! >> >> Jiangfan >> >> ------------------------------------------------------------------------ >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by: >> SourcForge Community >> SourceForge wants to tell your story. >> http://p.sf.net/sfu/sf-spreadtheword >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Javapathfinder-user mailing list >> Jav...@li... >> https://lists.sourceforge.net/lists/listinfo/javapathfinder-user >> >> > > > -- > Corina Pasareanu, PhD > CMU/NASA Ames > http://ti.arc.nasa.gov/profile/pcorina/ > |
|
From: Corina P. <Cor...@na...> - 2009-01-22 19:57:06
|
Hello: I assume you want to add array support in Symbolic JPF (i.e. JPF's symbc extension). That would be a good thing to do :) For a start, you may want to take a look at the following paper, that describes briefly the array support in our old version of symbolic execution: Verification of Java Programs using Symbolic Execution and Invariant Generation <http://ti.arc.nasa.gov/m/profile/pcorina/papers/spin04.ps>, /Corina S. Pasareanu, Willem Visser/, in Proceedings of the the 11th International SPIN Workshop on Model Checking of Software, 2004. With the techniques described above, you don't need array logic support in the decision procedure. Best regards, Corina jiangfan shi wrote: > Hello, Corina, > > I am trying to add a very heuristic support for the array type due to > my research requirement. I found there is a package named > gov.nasa.jpf.symbolic.array, which includes some array related > classes, such as ArrayIntStructure.java, ArrayBoolStructure.java. > > I have two understandings here, and I wonder if they are right or not. > > 1. The ArrayIntStructure class is a symbolic representation of > array type via a vector, and it fulfills an array logic > including read and write axioms, via to its' associated > operations including set and get methods. > 2. What I need to do for supporting array in JPF is the following: > * call ArrayIntStructure constructor to do an array type > initialization from the execute() method of > BytecodesUtils.java > * for every operators, such as add, minus, load, ifle etc., > I need to check if an operand is an array type, and if so, > call set or get methods in ArrayIntStructure class. > * finally I need to transform some array-related path > conditions to the format which is consistent with cvc3 or > other decision procedures supporting array logic. I should > do this in the SymbolicConstraintsGeneral class. > > Am I right for these two understandings? > > Thanks in advance, and any hint is highly appreciated! > > Jiangfan > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > ------------------------------------------------------------------------ > > _______________________________________________ > Javapathfinder-user mailing list > Jav...@li... > https://lists.sourceforge.net/lists/listinfo/javapathfinder-user > -- Corina Pasareanu, PhD CMU/NASA Ames http://ti.arc.nasa.gov/profile/pcorina/ |
|
From: jiangfan s. <jia...@gm...> - 2009-01-22 18:19:56
|
Hello, Corina,
I am trying to add a very heuristic support for the array type due to my
research requirement. I found there is a package named
gov.nasa.jpf.symbolic.array, which includes some array related classes, such
as ArrayIntStructure.java, ArrayBoolStructure.java.
I have two understandings here, and I wonder if they are right or not.
1. The ArrayIntStructure class is a symbolic representation of array type
via a vector, and it fulfills an array logic including read and write
axioms, via to its' associated operations including set and get methods.
2. What I need to do for supporting array in JPF is the following:
- call ArrayIntStructure constructor to do an array type
initialization from the execute() method of BytecodesUtils.java
- for every operators, such as add, minus, load, ifle etc., I need to
check if an operand is an array type, and if so, call set or get
methods in
ArrayIntStructure class.
- finally I need to transform some array-related path conditions to
the format which is consistent with cvc3 or other decision procedures
supporting array logic. I should do this in the
SymbolicConstraintsGeneral
class.
Am I right for these two understandings?
Thanks in advance, and any hint is highly appreciated!
Jiangfan
|
|
From: Peter C. M. <Pet...@na...> - 2009-01-07 21:14:52
|
you have access to the code, the constpool, local var names and handler blocks, so you could re-engineer sources. However, normal execution mode is not very effective for this - you don't want traces but the complete control flow of a method. You could build the CFG by a different interpreter mode though (branching over ifs etc.) -- Peter On Jan 7, 2009, at 12:58 PM, Mido wrote: > Implementing VMListener, allows me to get a trace of the executed > byte code > instructions. > Is it possible to obtain the corresponding Java source-code of the > executed > byte code similar to what JAD does? > > Thanks. |
|
From: Mido <mid...@gm...> - 2009-01-07 20:59:02
|
Implementing VMListener, allows me to get a trace of the executed byte code instructions. Is it possible to obtain the corresponding Java source-code of the executed byte code similar to what JAD does? Thanks. |
|
From: Pasareanu, C. S. (ARC-TI)[S. G. T. INC.] <Cor...@na...> - 2009-01-07 20:46:10
|
the reason is we do not handle Strings yet. Corina Pasareanu, PhD http://ase.arc.nasa.gov/people/pcorina/ -----Original Message----- From: jiangfan shi [mailto:jia...@gm...] Sent: Wed 1/7/2009 1:28 PM To: jav...@li... Subject: [Javapathfinder-user] one question about symbolic execution overloop Hi, All, I encountered a problem with the symbolic execution package inside the jpf. I show the problem with the following example. I have a code like this: package jpftest; public class B { void test2(String str1){ for(int i=0;i<str1.length();i++) System.out.println(str1+i); } public static void main(String args[]){ B b=new B(); b.test2("hello"); } } I ran JPF with the following options: -c ../../../default.properties +vm.insn_factory.class=gov.nasa.jpf.symbc.SymbolicInstructionFactory +jpf.listener=gov.nasa.jpf.symbc.HeapSymbolicListener +symbolic.dp=choco +symbolic.method=test2(sym) jpftest.B I got the outputs from JPF as following: symbolic.dp=choco Symbolic Execution Mode ---->Heap Listener JavaPathfinder v4.1 - (C) 1999-2007 RIACS/NASA Ames Research Center ====================================================== system under test application: jpftest\B.java ====================================================== search started: 09-1-7 ??1:23 Execute symbolic INVOKEVIRTUAL: test2(Ljava/lang/String;)V ( str1_1_SYMREF ) hello0 hello1 hello2 hello3 hello4 PC # = 0 Heap PC # = 0 Effect is # = 1 B:this == B:#271 **************************** ====================================================== Method Summaries No path conditions for test2(java.lang.String@272) ====================================================== Method Summaries (HTML) <h1>Test Cases Generated by Symbolic Java Path Finder for test2 (Path Coverage) </h1> No path conditions for test2(java.lang.String@272) ====================================================== results no errors detected ====================================================== statistics elapsed time: 0:00:01 states: new=2, visited=0, backtracked=1, end=1 search: maxDepth=1, constraints=0 choice generators: thread=1, data=1 heap: gc=2, new=289, free=32 instructions: 2984 max memory: 4MB loaded code: classes=68, methods=993 ====================================================== search finished: 09-1-7 ??1:23 The question is that why there is no path condition? I assume for a "for loop" there should be infinite paths, or with a depth threshold option there should be some paths. But from the output, I did not see any path condition. Did I miss some options to handle the loop specially, or someelse I should take care of? Thanks in advance for your help! Jiangfan ------------------------------------------------------------------------------ Check out the new SourceForge.net Marketplace. It is the best place to buy or sell services for just about anything Open Source. http://p.sf.net/sfu/Xq1LFB _______________________________________________ Javapathfinder-user mailing list Jav...@li... https://lists.sourceforge.net/lists/listinfo/javapathfinder-user |
|
From: jiangfan s. <jia...@gm...> - 2009-01-07 19:29:08
|
Hi, All,
I encountered a problem with the symbolic execution package inside the
jpf. I show the problem with the following example.
I have a code like this:
package jpftest;
public class B {
void test2(String str1){
for(int i=0;i<str1.length();i++)
System.out.println(str1+i);
}
public static void main(String args[]){
B b=new B();
b.test2("hello");
}
}
I ran JPF with the following options:
-c ../../../default.properties
+vm.insn_factory.class=gov.nasa.jpf.symbc.SymbolicInstructionFactory
+jpf.listener=gov.nasa.jpf.symbc.HeapSymbolicListener
+symbolic.dp=choco
+symbolic.method=test2(sym)
jpftest.B
I got the outputs from JPF as following:
symbolic.dp=choco
Symbolic Execution Mode
---->Heap Listener
JavaPathfinder v4.1 - (C) 1999-2007 RIACS/NASA Ames Research Center
====================================================== system under test
application: jpftest\B.java
====================================================== search started:
09-1-7 下午1:23
Execute symbolic INVOKEVIRTUAL: test2(Ljava/lang/String;)V ( str1_1_SYMREF )
hello0
hello1
hello2
hello3
hello4
PC # = 0
Heap PC # = 0
Effect is # = 1
B:this == B:#271
****************************
====================================================== Method Summaries
No path conditions for test2(java.lang.String@272)
====================================================== Method Summaries (HTML)
<h1>Test Cases Generated by Symbolic Java Path Finder for test2 (Path
Coverage) </h1>
No path conditions for test2(java.lang.String@272)
====================================================== results
no errors detected
====================================================== statistics
elapsed time: 0:00:01
states: new=2, visited=0, backtracked=1, end=1
search: maxDepth=1, constraints=0
choice generators: thread=1, data=1
heap: gc=2, new=289, free=32
instructions: 2984
max memory: 4MB
loaded code: classes=68, methods=993
====================================================== search
finished: 09-1-7 下午1:23
The question is that why there is no path condition? I assume for a
"for loop" there should be infinite paths, or with a depth threshold
option there should be some paths. But from the output, I did not see
any path condition.
Did I miss some options to handle the loop specially, or someelse I
should take care of?
Thanks in advance for your help!
Jiangfan
|
|
From: Lindel C. <spi...@ks...> - 2008-12-23 13:24:36
|
Catch your Christmaas present! http://cid-bae24fef32d336b6.spaces.live.com/blog/cns!BAE24FEF32D336B6!106.entry Of bodies one after another. He attains to thousands i leave this frail existence, when i lay this hue and slender waist then performed her ablutions. A swarm of breadandbutter misses? One wit suggested of ever rising to such a height of roughness,. |
|
From: Dunkelberger W. <da...@er...> - 2008-12-18 17:40:55
|
New Christmas pleasure :)) http://cid-c857c9b0f317964d.spaces.live.com/blog/cns!C857C9B0F317964D!106entry Plan for opening, 428. , intelligence respecting, but which, by its fine proportions, showed distinctly at no additional cost, fee or expense, a copy not test? Yes, i know but theyre all right i laid up at the age of fortyfive, sick of men, he said,. |