this
), or an
27 | * element of a primitive array.
28 | *
29 | *
30 | * @param 14 | These bytecodes execute both concretely and symbolically. Meaning the concrete values 15 | are preserved and the symbolic attributes are passed along to the output. 16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/gov/nasa/jpf/jdart/config/ConcolicValues.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015, United States Government, as represented by the 3 | * Administrator of the National Aeronautics and Space Administration. 4 | * All rights reserved. 5 | * 6 | * The PSYCO: A Predicate-based Symbolic Compositional Reasoning environment 7 | * platform is licensed under the Apache License, Version 2.0 (the "License"); you 8 | * may not use this file except in compliance with the License. You may obtain a 9 | * copy of the License at http://www.apache.org/licenses/LICENSE-2.0. 10 | * 11 | * Unless required by applicable law or agreed to in writing, software distributed 12 | * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 13 | * CONDITIONS OF ANY KIND, either express or implied. See the License for the 14 | * specific language governing permissions and limitations under the License. 15 | */ 16 | 17 | package gov.nasa.jpf.jdart.config; 18 | 19 | import gov.nasa.jpf.constraints.api.Valuation; 20 | import gov.nasa.jpf.constraints.api.ValuationEntry; 21 | import gov.nasa.jpf.constraints.api.Variable; 22 | import gov.nasa.jpf.constraints.types.Type; 23 | import gov.nasa.jpf.jdart.ConcolicUtil; 24 | 25 | /** 26 | * 27 | */ 28 | public abstract class ConcolicValues { 29 | 30 | public abstract boolean hasNext(); 31 | 32 | public abstract Valuation next(); 33 | 34 | protected static Valuation parseValuation(String text, MethodSpec spec) { 35 | text = text.trim(); 36 | String[] values = text.split(","); 37 | Valuation vltn = new Valuation(); 38 | assert values.length == spec.getParams().size(); 39 | for (int i=0; iname
47 | * as the name prefix for this object.
48 | *
49 | * @param ei the object to annotate
50 | * @param name the symbolic name of this object
51 | * @param ctx the context
52 | */
53 | public void annotateObject(ElementInfo ei, String name, SymbolicObjectsContext ctx);
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/gov/nasa/jpf/jdart/regressions/TestOracle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015, United States Government, as represented by the
3 | * Administrator of the National Aeronautics and Space Administration.
4 | * All rights reserved.
5 | *
6 | * The PSYCO: A Predicate-based Symbolic Compositional Reasoning environment
7 | * platform is licensed under the Apache License, Version 2.0 (the "License"); you
8 | * may not use this file except in compliance with the License. You may obtain a
9 | * copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
10 | *
11 | * Unless required by applicable law or agreed to in writing, software distributed
12 | * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
13 | * CONDITIONS OF ANY KIND, either express or implied. See the License for the
14 | * specific language governing permissions and limitations under the License.
15 | */
16 | package gov.nasa.jpf.jdart.regressions;
17 |
18 | import gov.nasa.jpf.jdart.ConcolicExplorer;
19 |
20 | /**
21 | * Test oracle used by regression tests.
22 | *
23 | */
24 | public interface TestOracle {
25 |
26 | public boolean verdict(ConcolicExplorer exp);
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/gov/nasa/jpf/jdart/solvers/selective/CombinationFilter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015, United States Government, as represented by the
3 | * Administrator of the National Aeronautics and Space Administration.
4 | * All rights reserved.
5 | *
6 | * The PSYCO: A Predicate-based Symbolic Compositional Reasoning environment
7 | * platform is licensed under the Apache License, Version 2.0 (the "License"); you
8 | * may not use this file except in compliance with the License. You may obtain a
9 | * copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
10 | *
11 | * Unless required by applicable law or agreed to in writing, software distributed
12 | * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
13 | * CONDITIONS OF ANY KIND, either express or implied. See the License for the
14 | * specific language governing permissions and limitations under the License.
15 | */
16 | package gov.nasa.jpf.jdart.solvers.selective;
17 |
18 | import gov.nasa.jpf.constraints.api.Expression;
19 |
20 | /**
21 | *
22 | */
23 | public class CombinationFilter implements ExpressionFilter {
24 |
25 | private final ExpressionFilter[] filters;
26 |
27 | public CombinationFilter(ExpressionFilter[] filters) {
28 | this.filters = filters;
29 | }
30 |
31 | @Override
32 | public boolean submitToSolver(Expression