Andrew E. Santosa

National University of Singapore, Singapore, Singapore

Are you Andrew E. Santosa?

Claim your profile

Publications (43)0 Total impact

  • Source
    Article: Symbolic Execution for Verification
    Joxan Jaffar, Jorge A. Navas, Andrew E. Santosa
    [show abstract] [hide abstract]
    ABSTRACT: In previous work, we presented a symbolic execution method which starts with a concrete model of the program but progressively abstracts away details only when these are known to be irrelevant using interpolation. In this paper, we extend the technique to handle unbounded loops. The central idea is to progressively discover the strongest invariants through a process of loop unrolling. The key feature of this technique, called the minimax algorithm, is intelligent backtracking which directs the search for the next invariant. We then present an analysis of the main differences between our symbolic execution method and mainstream techniques mainly based on abstract refinement (CEGAR). Finally, we evaluate our technique against available state-of-the-art systems.
    03/2011;
  • Source
    Conference Proceeding: Abstraction Learning.
    Joxan Jaffar, Jorge A. Navas, Andrew E. Santosa
    Automated Technology for Verification and Analysis - 8th International Symposium, ATVA 2010, Singapore, September 21-24, 2010. Proceedings; 01/2010
  • Chapter: An Interpolation Method for CLP Traversal
    Joxan Jaffar, Andrew E. Santosa, Răzvan Voicu
    [show abstract] [hide abstract]
    ABSTRACT: We consider the problem of exploring the search tree of a CLP goal in pursuit of a target property. Essential to such a process is a method of tabling to prevent duplicate exploration. Typically, only actually traversed goals are memoed in the table. In this paper we present a method where, upon the successful traversal of a subgoal, a generalization of the subgoal is memoed. This enlarges the record of already traversed goals, thus providing more pruning in the subsequent search process. The key feature is that the abstraction computed is guaranteed not to give rise to a spurious path that might violate the target property. A driving application area is the use of CLP to model the behavior of other programs. We demonstrate the performance of our method on a benchmark of program verfication problems.
    09/2009: pages 454-469;
  • Conference Proceeding: An Interpolation Method for CLP Traversal.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Principles and Practice of Constraint Programming - CP 2009, 15th International Conference, CP 2009, Lisbon, Portugal, September 20-24, 2009, Proceedings; 01/2009
  • Conference Proceeding: Recursive Abstractions for Parameterized Systems.
    Joxan Jaffar, Andrew E. Santosa
    FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2-6, 2009. Proceedings; 01/2009
  • Chapter: A Coinduction Rule for Entailment of Recursively Defined Properties
    Joxan Jaffar, Andrew E. Santosa, Răzvan Voicu
    [show abstract] [hide abstract]
    ABSTRACT: Recursively defined properties are ubiquitous. We present a proof method for establishing entailment G \models H\mathcal{G} \models \mathcal{H} of such properties G\mathcal{G} and H\mathcal{H} over a set of common variables. The main contribution is a particular proof rule based intuitively upon the concept of coinduction. This rule allows the inductive step of assuming that an entailment holds during the proof the entailment. In general, the proof method is based on an unfolding (and no folding) algorithm that reduces recursive definitions to a point where only constraint solving is necessary. The constraint-based proof obligation is then discharged with available solvers. The algorithm executes the proof by a search-based method which automatically discovers the opportunity of applying induction instead of the user having to specify some induction schema, and which does not require any base case.
    09/2008: pages 493-508;
  • Conference Proceeding: A Coinduction Rule for Entailment of Recursively Defined Properties.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Principles and Practice of Constraint Programming, 14th International Conference, CP 2008, Sydney, Australia, September 14-18, 2008. Proceedings; 01/2008
  • Source
    Conference Proceeding: Efficient Memoization for Dynamic Programming with Ad-Hoc Constraints.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence, AAAI 2008, Chicago, Illinois, USA, July 13-17, 2008; 01/2008
  • Conference Proceeding: A Framework for Separation of Concerns in Concurrent Programming.
    Rafael Ramirez, Andrew E. Santosa
    31st Annual International Computer Software and Applications Conference (COMPSAC 2007), 24-27 July 2007, Beijing, China; 01/2007
  • Conference Proceeding: A Constraint-Based Framework for Concurrent and Distributed Programming.
    Rafael Ramirez, Andrew E. Santosa
    Proceedings of the ISCA 19th International Conference on Parallel and Distributed Computing Systems, September 20-11, 2006, San Francisco, California, USA; 01/2006
  • Conference Proceeding: Relative Safety.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Verification, Model Checking, and Abstract Interpretation, 7th International Conference, VMCAI 2006, Charleston, SC, USA, January 8-10, 2006, Proceedings; 01/2006
  • Conference Proceeding: A CLP Method for Compositional and Intermittent Predicate Abstraction.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Verification, Model Checking, and Abstract Interpretation, 7th International Conference, VMCAI 2006, Charleston, SC, USA, January 8-10, 2006, Proceedings; 01/2006
  • Chapter: A CLP Method for Compositional and Intermittent Predicate Abstraction
    Joxan Jaffar, Andrew E. Santosa, Răzvan Voicu
    [show abstract] [hide abstract]
    ABSTRACT: We present an implementation of symbolic reachability analysis with the features of compositionality, and intermittent abstraction, in the sense of pefrorming approximation only at selected program points, if at all. The key advantages of compositionality are well known, while those of intermittent abstraction are that the abstract domain required to ensure convergence of the algorithm can be minimized, and that the cost of performing abstractions, now being intermittent, is reduced. We start by formulating the problem in CLP, and first obtain compositionality. We then address two key efficiency challenges. The first is that reasoning is required about the strongest-postcondition operator associated with an arbitrarily long program fragment. This essentially means dealing with constraints over an unbounded number of variables describing the states between the start and end of the program fragment at hand. This is addressed by using the variable elimination or projection mechanism that is implicit in CLP systems. The second challenge is termination, that is, to determine which subgoals are redundant. We address this by a novel formulation of memoization called coinductive tabling. We finally evaluate the method experimentally. At one extreme, where abstraction is performed at every step, we compare against a model checker. At the other extreme, where no abstraction is performed, we compare against a program verifier. Of course, our method provides for the middle ground, with a flexible combination of abstraction and Hoare-style reasoning with predicate transformers and loop-invariants.
    12/2005: pages 17-32;
  • Chapter: Modeling Systems in CLP
    Joxan Jaffar, Andrew E. Santosa, Răzvan Voicu
    [show abstract] [hide abstract]
    ABSTRACT: Constraint Logic Programming has been successful as a programming language, and more recently, as a model of executable specifications. There have been numerous works which use CLP to model programs and which use an adaptation of the CLP proof system for proving certain properties, for example, the XMC system [3] uses SLG resolution on alternation-free μ-calculus formulas, and the work on deductive model checking [1] model for CTL properties on transition systems represented as CLP rules. These, amongst other works, cover a limited class of programs and use specialized proof methods. In our work, we present a systematic method to model a general class of programs, and provide adaptations of the CLP proof systems in order to provide a systematic and general proof method.
    10/2005: pages 412-413;
  • Source
    Conference Proceeding: Modeling Systems in CLP.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Logic Programming, 21st International Conference, ICLP 2005, Sitges, Spain, October 2-5, 2005, Proceedings; 01/2005
  • Conference Proceeding: Formal Verification of Concurrent and Distributed Constraint-Based Java Programs.
    Rafael Ramirez, Andrew E. Santosa
    10th International Conference on Engineering of Complex Computer Systems (ICECCS 2005), 16-20 June 2005, Shanghai, China; 01/2005
  • Source
    Article: Scalable Distributed Depth-First Search with Greedy Work Stealing
    Joxan Jaffar, Andrew E. Santosa, H. C. Yap, Kenny Q. Zhu
    [show abstract] [hide abstract]
    ABSTRACT: We present a framework for the parallelization of depth-first combinatorial search algorithms on a network of computers. Our architecture is based on work stealing and uses a small number of primitives which allow the processors (which we call workers) to obtain new work and to communicate to other workers. These primitives are a minimal imposition and integrate easily with constraint programming systems. The main contribution is an adaptive architecture which allows workers to incrementally join and leave and has good scaling properties as the number of workers increases. We show analytically that near linear-time speedup is possible for a large number of workers and the condition under which linear speedup is expected. Our empirical results illustrate that near-linear speedup for backtrack search is achieved for up to 61 workers, and suggest that near-linear speedup is possible with even more workers. The experiments also demonstrate where departures from linearity can occur for small problems and where the parallelism can itself affect the search as in branch and bound.
    05/2004;
  • Source
    Conference Proceeding: Concurrent and distributed programming using constraint logic programs.
    Rafael Ramirez, Andrew E. Santosa
    Proceedings of the 2004 ACM Symposium on Applied Computing (SAC), Nicosia, Cyprus, March 14-17, 2004; 01/2004
  • Conference Proceeding: Scalable Distributed Depth-First Search with Greedy Work Stealing.
    16th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2004), 15-17 November 2004, Boca Raton, FL, USA; 01/2004
  • Conference Proceeding: A CLP Proof Method for Timed Automata.
    Joxan Jaffar, Andrew E. Santosa, Razvan Voicu
    Proceedings of the 25th IEEE Real-Time Systems Symposium (RTSS 2004), 5-8 December 2004, Lisbon, Portugal; 01/2004