About
160
Publications
32,327
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
4,265
Citations
Introduction
Laurent is currently Professor in UCONN Computer Science and Engineering Department. His interests focus on the design and implementation of domain specific languages for combinatorial optimization. Laurent's interests also span programming languages, constraint programming, artificial intelligence, non-linear programming and reasoning under uncertainty.
Additional affiliations
January 1999 - December 2001
August 2002 - present
Publications
Publications (160)
The availability of commodity multi-core and multi-processor machines and the inherent parallelism in constraint programming search o!er significant opportunities for constraint programming. They also present a fundamental challenge: how to exploit parallelism trans- parently to speed up constraint programs. This paper shows how to parallelize cons...
Search strategies, that is, strategies that describe how to explore search trees, have raised much interest for constraint satisfaction in recent years. In particular, limited discrepancy search and its variations have been shown to achieve significant improvements in efficiency over depth-first search for some classes of applications. This article...
The Cumulative constraint is a foundamental global constraint, which naturally arises in a variety of problems related to scheduling with limited resources. Since its introduction, numerous propagation algorithms have been proposed, offering different tradeoffs between computational complexity and filtering power. Such diversity allows the resoluti...
The AllDifferent constraint is a fundamental tool in Constraint Programming. It naturally arises in many problems, from puzzles to scheduling and routing applications. Such popularity has prompted an extensive literature on filtering and propagation for this constraint. This paper investigates the use of General Processing Units (GPUs) to accelerat...
We study the automatic generation of primal and dual bounds from decision diagrams in constraint programming. In particular, we expand the functionality of the Haddock system to optimization problems by extending its specification language to include an objective function. We describe how restricted decision diagrams can be compiled in Haddock simi...
The Cumulative constraint is one of the most important global constraints, as it naturally arises in a variety of problems related to scheduling with limited resources. Devising fast propagation algorithms that run at every node of the search tree is critical to enable the resolution of a wide range of applications. Since its introduction, numerous...
Tolerant algebraic side-channel attack (TASCA) exploits side-channel information with an algebraic formulation of a cipher to exploit its weaknesses and recover a secret key. Its inputs consist of a side-channel trace of an encryption and the clear and cipher texts. TASCA demonstrated that pseudo-Boolean optimization can successfully recover a key...
Maintaining a resilient computer network is a delicate task with conflicting priorities. Flows should be served while controlling risk due to attackers. Upon publication of a vulnerability, administrators scramble to manually mitigate risk while waiting for a patch. We introduce
$\textsc {Fashion}$
: a linear optimizer that balances routing flows...
This paper introduces MiniCP, a lightweight, open-source solver for constraint programming. MiniCP is motivated by educational purposes and the desire to provide the core implementation of a constraint-programming solver for students in computer science and industrial engineering. The design of MiniCP provides a one-to-one mapping between the theor...
Multi-valued decision diagrams (MDDs) were introduced into constraint programming over a decade ago as a powerful alternative to domain propagation. While effective MDD-propagation algorithms have been proposed for various constraints, to date no system exists that can generically compile and combine MDD propagation for arbitrary constraints. To fi...
This paper introduces the 2019 version of ObjCP-FP, a novel Constraint Programming framework for floating point verification problems expressed with the SMT language of SMTLIB. SMT solvers decompose their task by delegating to specific theories (e.g., floating point, bit vectors, arrays, ...) the task to reason about combinatorial or otherwise comp...
Program verification techniques typically focus on finding counterexamples that violate properties of a program. Constraint programming offers a convenient way to verify programs by modeling their state transformations and specifying searches that seek counterexamples. Floating-point computations present additional challenges for verification given...
Maintaining a resilient computer network is a delicate task with conflicting priorities. Flows should be served while controlling risk due to attackers. Configuration is time intensive and largely static until a major new vulnerability forces change. Tools exist to check network reachability (Khurshid et al., NSDI 2013) and risk using (probabilisti...
Networks are designed with functionality, security, performance, and cost in mind. Tools exist to check or optimize individual properties of a network. These properties may conflict, so it is not always possible to run these tools in series to find a configuration that meets all requirements. This leads to network administrators manually searching...
Networks are designed with functionality, security, performance, and cost in mind. Tools exist to check or optimize individual properties of a network. These properties may conflict, so it is not always possible to run these tools in series to find a configuration that meets all requirements. This leads to network administrators manually searching...
Tolerant Algebraic Side-Channel Attack (TASCA) is a combination of algebraic and side-channel analysis with error tolerance. Oren et al., used mathematical programming to implement TASCA over a round-limited version of AES. In [7], Liu et al. revisited their results and introduced a TASCA-CP model that delivers solutions to this 1-round relaxation...
Modern cloud-based services help deliver distributed software and aim to deliver a cost-effective solution while ensuring that application requirements are met. Deploying a Cloud-based implementation demands the resolution of a resource allocation problem to determine where and how software modules are deployed. For instance, one must decide, for e...
Constraint-Based Local Search emerged in the last decade as a framework for declaratively expressing hard combinatorial optimization problems and solve them with local search techniques. It delivers tools to practitioners that enables them to quickly experiment with multiple models, heuristics, and metaheuristics, focusing on their application rath...
AES is a mainstream block cipher used in many protocols and whose resilience against attack is essential for cybersecurity. In [14], Oren and Wool discuss a Tolerant Algebraic Side-Channel Analysis (TASCA) and show how to use optimization technology to exploit side-channel information and mount a computational attack against AES. This paper revisit...
The ability to verify critical software is a key issue in embedded and cyber physical systems typical of automotive, aeronautics or aerospace industries. Bounded model checking and constraint programming approaches search for counter-examples that exemplify a property violation. The search of such counter-examples is a long, tedious and costly task...
This paper presents a microkernel architecture for constraint programming organized around a small number of core functionalities and minimal interfaces. The architecture contrasts with the monolithic nature of many implementations. With this design, variables, domains and constraints all remain external to the microkernel which isolates the propag...
The CP conference is the annual international conference on constraint programming. It is concerned with all aspects of computing with constraints, including theory, algorithms, environments, languages, models, systems, and applications such as decision-making, resource allocation, scheduling, configuration, and planning. The CP community is very k...
Constraint-Based Local Search emerged in the last decade as a framework for declaratively expressing hard combinatorial optimization problems and solve them with local search techniques. It delivers tools to practitioners that enables them to quickly experiment with multiple models, heuristics, and meta-heuristics, focusing on their application rat...
Recent work in model combinators, as well as projects like G12 and SIMPL, achieved significant progress in automating the generation of complex and hybrid solvers from high-level model specifications. This paper extends model combinators into the scheduling domain. This is of particular interest as, today, both Constraint Programming (CP) and Mixed...
Short-term load forecasting at the distribution level predicts the load of substations, feeders, transformers, and possibly customers from half an hour to one week ahead. Effective forecasting is important for the planning and operation of distribution systems. The problem, however, is difficult in view of complicated load features, the large numbe...
Views are a standard abstraction in constraint programming: They make it
possible to implement a single version of each constraint, while avoiding to
create new variables and constraints that would slow down propagation.
Traditional constraint-programming systems provide the concept of {\em variable
views} which implement a view of the type $y = f(...
Very short-term load forecasting predicts the loads in electric power system one hour into the future in 5-min steps in a moving window manner. To quantify forecasting accuracy in real-time, the prediction interval estimates should also be produced online. Effective predictions with good prediction intervals are important for resource dispatch and...
In recent years, Cml, G12 and Simpl, have achieved significant progress in automating the generation of hybrid solvers from high-level model specifications. This paper pushes this research direction one step further and introduces the concept of model combinators to provide principled model compositions. These model combinators rely on runnables ca...
Objective-CP is an optimization system that views an optimization program as the combination of a model, a search, and a solver. Models in Objective-CP follow the modeling style of constraint programming and are concretized into specific solvers. Search procedures are specified in terms of high-level nondeterministic constructs, search combinators,...
With human environmental footprint exceeding the world's regeneration capacity by about 30%, conserving energy and reducing emissions and waste are critical for sustainable living. A new prototype of living is eco-communities which consist of a set of buildings and associated devices for energy generation, conversion, consumption, storage and recov...
This work focuses on the AccuVote Optical Scan voting terminal (AV-OS) that is widely used in US elections. We present a new attack that can be delivered without opening the system enclosure, and without changing a single bit of the system's firmware. The attack is launched by inserting a maliciously programmed AV-OS memory card into the terminal....
Very short-term load forecasting predicts the loads 1 h into the future in 5-min steps in a moving window manner based on real-time data collected. Effective forecasting is important in area generation control and resource dispatch. It is however difficult in view of the noisy data collection process and complicated load features. This paper presen...
Load forecasting methods for a large geographical area such as New England are widely established. However, substation load forecasting is much more difficult, since load patterns of substations are more irregular than that of a large system. In addition, considering the large number of sub
5a8
stations in an area, computation time is also an impor...
Advanced Load Forecast (ALF) is a novel load forecast application that integrates different instances of Artificial Neural Network (ANN) forecast engines and generates load forecasts for multiple load locations at various hierarchical levels. The forecast results can be aggregated up and distributed down the hierarchical structure. The Artificial N...
In 2004, Jean-Francois Puget presented [2] an analysis of the "simplicity of Use" of Constraint Programming from which he articulated a series of challenges to make Constraint Programming systems accessible and easier to use. The core of the argument was a contrast between mathematical programming and constraint programming tools. Mathematical prog...
We study the behavior of the A * search algorithm when coupled with a heuristic h satisfying (1-ϵ 1 )h * ≤h≤(1+ϵ 2 )h * , where ϵ 1 ,ϵ 2 ∈[0,1) are small constants and h * denotes the optimal cost to a solution. We prove a rigorous, general upper bound on the time complexity of A * search on trees that depends on both the accuracy of the heuristic...
This paper introduces a high level language that allows for the specification and manipulation of solver independent models and al- lows for easily generating complex solvers in the Comet language. As Constraint Programming (CP) techniques have increased in complexity, it has become more difficult and time consuming to implement models that take ad...
In recent years, electronic voting systems have been deployed in all U.S. elections. Despite the fact that cryptographic integrity checks are used in most such systems, several reports have documented serious security vulnerabilities of electronic voting terminals. We present an overview of the typical security and election vulnerabilities found in...
The availability of multi-processor machines and computer clusters offer significant opportunities for constraint programming. They also present a fundamental challenge: how to exploit parallelism trans-parently to speed up constraint programs. Our recent research showed how to parallelize constraint programs transparently on parallel com-puters. T...
Following a line outage, the fast corrective operations of transmission line switching might be used to regain $N-1$ security of the system without generation re-dispatch or load shedding. The problem to find feasible switching operations can be formulated as a constraint satisfaction problem (CSP). Feasibility checking, however, is difficult since...
Reasoning over bit vectors arises in a variety of applications in verification and cryptography. This paper presents a bit-vector domain for constraint programming and its associated filtering algorithms. The domain supports all the traditional bit operations and correcty models modulo-arithmetic and overflows. The domain implementation uses bit op...
Access control models are often an orthogonal activity when designing, implementing, and deploying software applications. Role-based access control (RBAC) which targets privileges based on responsibilities within an application and mandatory access control (MAC) that emphasizes the protection of information via security tags are two dominant approa...
The ability to specify CP programs in terms of a declara- tive model and a search procedure is instrumental to the industrial CP successes. Yet, writing search procedures is often dicult for novices or people accustomed to model & run approaches. The viewpoint adopted in this paper argues for the synthesis of a search from the declarative model to...
Robust search procedures are a central component in the design of black-box
constraint-programming solvers. This paper proposes activity-based search, the
idea of using the activity of variables during propagation to guide the search.
Activity-based search was compared experimentally to impact-based search and
the WDEG heuristics. Experimental resu...
We consider the weekly transportation problem in forestry which arises when transporting logs from forest sites to wood mills. We develop a decomposed approach to solve the weekly problem in three phases. In the first phase we use a constraint programming enumeration to generate a large set of feasible routes equivalent to one working shift of a dr...
The Steel Mill Slab Problem is an optimization benchmark that has been studied for a long time in the constraint-programming community but was only solved efficiently in the two last years. Gargani and Refalo solved the problem using Large Neighborhood Search and Van Henten-ryck and Michel made use of constraint programming with an improved symmetr...
Constraint programming (CP) is based on the fundamental idea that the resolution of hard optimization problems is best approached by the combination of a declarative model specification and the writing of a search procedure. The search procedure explores the underlying search space while taking advantage of the pruning derived from the declarative...
Modeling of access control policies, along with their implementation in code, must be an integral part of the software development process, to ensure that the proper level of security in an application is attained. Previous work of the authors in this area yielded a framework that incorporates access control at the design and code levels, through a...
Very short-term load forecasting predicts the load over one hour into the future in five-minute steps and performs the moving forecast every five minutes. To quantify forecasting accuracy, the confidence interval is estimated in real-time. An effective prediction with a small associated confidence interval is important for area generation control a...
Rambo is the Reconfigurable Atomic Memory for Basic Objects, a formally specified algorithm that implements atomic read/write shared
memory in dynamic networks, where the participating hosts may join, leave, or fail. To maintain availability and consistency
in such dynamic settings, Rambo replicates objects and uses quorum systems that can be recon...
Very short-term load forecasting predicts load over one hour into the future in five minute steps and performs the moving forecast every five minutes. This is essential for area generation control and resource dispatch, and helps operators make good decisions. To quantify prediction accuracy, it is desirable to have a confidence interval for the fo...
Demand response is a reduction in the consumption of electricity by customers from their expected consumption in response to reliability or price triggered signals. Enabled by advanced metering infrastructure and other smart grid technologies, it is expected to be a crucial mechanism to compensate system uncertainties and the associated risks inclu...
Modeling of security policies, along with their realization in code, must be an integral part of the software development process, to achieve an acceptable level of security for a software application. Among all of the security concerns (e.g. authentication, auditing, access control, confidentiality, etc.), this paper addresses the incorporation of...
Expert affidavit on the security and integrity issues of optical scan voting systems in support of petition-complain. Supreme Court of the State of New York, County of Nassau. County of Nassau Board of Elections against State of New York, New York State Board of Elections.
In deregulated electricity markets, short-term load forecasting is important for reliable power system operation, and also significantly affects markets and their participants. Effective forecasting, however, is difficult in view of the complicated effects on load by a variety of factors. This paper presents a similar day-based wavelet neural netwo...
The availability of commodity multicore and multiprocessor machines and the inherent parallelism in constraint programming search offer significant opportunities for constraint programming. Both constraint-based local search and finite-domain techniques can dramatically benefit from parallelization. Yet, currently available libraries and languages...
Constraint-based local search COMET Modeling Search References
Access control models are often an orthogonal activity when designing, implementing, and deploying software applications. Role-based access control (RBAC) which targets privileges based on responsibilities within an application and mandatory access control (MAC) that emphasizes the protection of information via security tags are two dominant approa...
In recent years, two distinct electronic voting technologies have been introduced and extensively utilized in election procedures: direct recording electronic systems and optical scan (OS) systems. The latter are typically deemed safer, as they inherently provide a voter-verifiable paper trail that enables hand-counted audits and recounts that rely...
Model visualization is an important problem in software engineering, to assist designers to understand and evolve models. Zoomable User Interfaces (ZUI), which uses zoom as the main mechanism to navigate between different levels of abstraction, has the potential to improve model visualization. This paper, the first step in this research direction,...
Model visualization is an important problem in software engineering, to assist designers to understand and evolve models. Zoomable User Interfaces (ZUI), which uses zoom as the main mechanism to navigate between different levels of abstraction, has the potential to improve model visualization. This paper, the first step in this research direction,...
Rambo is the Reconfigurable Atomic Memory for Basic Objects, a formally specified algorithm that implements atomic read/write shared
memory in dynamic, rapidly changing networking environments. Rambo is particularly apt at dealing with volatile environments such as mobile networks. To maintain availability and consistency,
even as hosts join, leave...
Very short term load forecasting predicts the load over one hour into the future in five minute steps, and is important in resource dispatch and area generation control. Effective forecasting, however, is difficult in view of noisy real-time data gathering and complicated features of load. This paper presents a method based on multilevel wavelet ne...
The availability of commodity multiprocessors and high-speed networks of workstations offer significant opportunities for addressing the increasing computational requirements of optimization applications. To leverage these potential benefits, it is important, however, to make parallel and distributed processing easily accessible to a wide audience...
Providing consistent and fault-tolerant distributed object services is among the fundamental problems in distributed computing.
To achieve fault-tolerance and to increase throughput, objects are replicated at different networked nodes. However, replication
induces significant communication costs to maintain replica consistency. Eventually-Serializa...
The rmware of an electronic voting machine is typically treated as a \trusted" component of the system. Conse- quently, it is misconstrued to be vulnerable only to an insider attack by someone with an in-depth knowledge of the sys- tem and access to the source code. This case study focuses on the Diebold/Premier AccuVote Optical Scan voting ter- mi...
Formal specifications are indispensable in the design of verifiable complex distributed systems, and formal methods have received considerable attention in that respect. However, the full potential of formal methods can only be realized if the transition from specification to actual implementation can be automated to preserve the properties that we...
In the interest of auditing election procedures, certain electronic voting technologies provide monitoring capa-bilities that record select actions undertaken by election officials before, during, and after an election process, as well as the conditions present in an electronic voting ter-minal as the result of its interactions with its environ-men...
Tempo is a simple formal language for modeling distributed, concurrent, and timed systems as collections of interact- ing state machines, called timed input/output automata. Tempo provides natural mathematical notations for describ- ing systems, their intended properties, and intended rela- tionships between their descriptions at varying levels of...
This paper proposes an approach for secure software design and coding; and, it provides a formal underpinning for security assurance, i.e., a proof that the generated code correctly realizes security specifications. The base of the proposed approach is a set of security features by J. Pavlich-Mariscal et al (2007) that separate security concerns fr...
Recently, Gargani and Refalo (G&R) presented an elegant model for the Steel Mill Slab Design Problem (Problem 38 in the CSP LIB). Contrary to earlier approaches, their model does not use 0/1 variables but exploits the traditional expressiveness of constraint programming. G&R indicated that static symmetry-breaking constraints proposed earlier are n...
Providing consistent and fault-tolerant distributed object services is among the fundamental problems in distributed computing.
To achieve fault-tolerance and to increase throughput, objects are replicated at different networked nodes. However, replication
induces significant communication costs to maintain replica consistency. Eventually-Serializa...