Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Mats Carlsson

dblp:c/MCarlsson · DBLP profile ↗
← Back
44ranked-venue papers
9as first author
0since 2021 · last 2020
0000-0003-3079-8095ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 31 · 7 first-authorArtificial intelligence and machine learning · 26 · 2 first-authorTheory of computation · 7 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-authorSystems, architecture and hardware · 1Computer networks · 1Graphics, computer vision, multimedia, augmented reality and games · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 50% Software testing · 49% Programming languages and type systems · 1%
Theoretical computer science
1 paper
Mathematical optimization · 100%
Computer networks
1 paper
Internet of things and sensor networks · 50% Routing and switching · 50%

Topics — the 13 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
instruction scheduling
0.412019
Combinatorial Register Allocation and Instruction Scheduling · ACM Trans. Program. Lang. Syst. 2019
Compilers and program optimization
register allocation
0.412019
Combinatorial Register Allocation and Instruction Scheduling · ACM Trans. Program. Lang. Syst. 2019
Mathematical optimization
constraint programming
0.412019
Combinatorial Register Allocation and Instruction Scheduling · ACM Trans. Program. Lang. Syst. 2019
Mathematical optimization
discrete optimization
0.412019
Combinatorial Register Allocation and Instruction Scheduling · ACM Trans. Program. Lang. Syst. 2019
Software testing
regression testing
0.212016
Automated Regression Testing Using Constraint Programming · AAAI 2016
Software testing › test optimization
test case selection
0.212016
Automated Regression Testing Using Constraint Programming · AAAI 2016
Software testing › regression testing
test suite reduction
0.212016
Automated Regression Testing Using Constraint Programming · AAAI 2016
Routing and switching › wireless routing
directional antenna routing
0.212015
Directional Transmissions and Receptions for High-throughput Bulk Forwarding in Wireless Sensor Networks · SenSys 2015
Internet of things and sensor networks
wireless sensor network
0.212015
Directional Transmissions and Receptions for High-throughput Bulk Forwarding in Wireless Sensor Networks · SenSys 2015
Parallel and multicore computing › parallel programming models › task parallelism
OR-parallelism
0.012001
Parallel execution of prolog programs: a survey · ACM Trans. Program. Lang. Syst. 2001
Parallel and multicore computing › parallel computation models
parallel execution models
0.012001
Parallel execution of prolog programs: a survey · ACM Trans. Program. Lang. Syst. 2001
Programming languages and type systems
logic programming
0.012001
Parallel execution of prolog programs: a survey · ACM Trans. Program. Lang. Syst. 2001
Programming languages and type systems › logic programming
prolog
0.012001
Parallel execution of prolog programs: a survey · ACM Trans. Program. Lang. Syst. 2001

Methods — techniques the papers use, named apart from their topics

constraint programming · 1.0combinatorial optimization · 0.8search heuristics · 0.2global constraints · 0.2domain-specific heuristics · 0.2constraint satisfaction problem · 0.2survey · 0.1
YearPublicationVenuePosition
2020 RobTest: A CP Approach to Generate Maximal Test Trajectories for Industrial Robots
Mathieu Collet, Arnaud Gotlieb, Nadjib Lazaar, Mats Carlsson, Dusica Marijan, Morten Mossige
CP4
2020 Scheduling of Dual-Arm Multi-tool Assembly Robots and Workspace Layout Optimization
Johan Wessén, Mats Carlsson, Christian Schulte 0001
CPAIOR2
2019 Combinatorial Register Allocation and Instruction Scheduling
abstract
This article introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit processor-specific features readily. Our approach is the first to leverage this potential in practice : it captures the complete set of program transformations used in state-of-the-art compilers, scales to medium-sized functions of up to 1,000 instructions, and generates executable code. This level of practicality is reached by using constraint programming, a particularly suitable combinatorial optimization technique. Unison, the implementation of our approach, is open source, used in industry, and integrated with the LLVM toolchain. An extensive evaluation confirms that Unison generates better code than LLVM while scaling to medium-sized functions. The evaluation uses systematically selected benchmarks from MediaBench and SPEC CPU2006 and different processor architectures (Hexagon, ARM, MIPS). Mean estimated speedup ranges from 1.1% to 10% and mean code size reduction ranges from 1.3% to 3.8% for the different architectures. A significant part of this improvement is due to the integrated nature of the approach. Executing the generated code on Hexagon confirms that the estimated speedup results in actual speedup. Given a fixed time limit, Unison solves optimally functions of up to 946 instructions, nearly an order of magnitude larger than previous approaches. The results show that our combinatorial approach can be applied in practice to trade compilation time for code quality beyond the usual compiler optimization levels, identify improvement opportunities in heuristic algorithms, and fully exploit processor-specific features.
Roberto Castañeda Lozano, Mats Carlsson, Gabriel Hjort Blindell, Christian Schulte 0001
ACM Trans. Program. Lang. Syst.2
2018 Exploring Properties of a Telecommunication Protocol with Message Delay Using Interactive Theorem Prover
Catherine Dubois, Olga Grinchtein, Justin Pearson, Mats Carlsson
SEFM4
2017 Time-Aware Test Case Execution Scheduling for Cyber-Physical Systems
Morten Mossige, Arnaud Gotlieb, Helge Spieker, Hein Meling, Mats Carlsson
CP5
2017 Range-Consistent Forbidden Regions of Allen's Relations
Nicolas Beldiceanu, Mats Carlsson, Alban Derrien, Charles Prud'homme, Andreas Schutt, Peter J. Stuckey
CPAIOR2
2017 Complete and Practical Universal Instruction Selection
abstract
In code generation, instruction selection chooses processor instructions to implement a program under compilation where code quality crucially depends on the choice of instructions. Using methods from combinatorial optimization, this paper proposes an expressive model that integrates global instruction selection with global code motion. The model introduces (1) handling of memory computations and function calls, (2) a method for inserting additional jump instructions where necessary, (3) a dependency-based technique to ensure correct combinations of instructions, (4) value reuse to improve code quality, and (5) an objective function that reduces compilation time and increases scalability by exploiting bounding techniques. The approach is demonstrated to be complete and practical, competitive with LLVM, and potentially optimal (w.r.t. the model) for medium-sized functions. The results show that combinatorial optimization for instruction selection is well-suited to exploit the potential of modern processors in embedded systems.
Gabriel Hjort Blindell, Mats Carlsson, Roberto Castañeda Lozano, Christian Schulte 0001
ACM Trans. Embed. Comput. Syst.2
2016 Automated Regression Testing Using Constraint Programming
abstract
In software validation, regression testing aims to check the absence of regression faults in new releases of a software system. Typically, test cases used in regression testing are executed during a limited amount of time and are selected to check a given set of user requirements. When testing large systems, the number of regression tests grows quickly over the years, and yet the available time slot stays limited. In order to overcome this problem, an approach known as test suite reduction (TSR), has been developed in software engineering to select a smallest subset of test cases, so that each requirement remains covered at least once. However solving the TSR problem is difficult as the underlying optimization problem is NP-hard, but it is also crucial for vendors interested in reducing the time to market of new software releases. In this paper, we address regression testing and TSR with Constraint Programming (CP). More specifically, we propose new CP models to solve TSR that exploit global constraints, namely NVALUE and GCC. We reuse a set of preprocessing rules to reduce a priori each instance, and we introduce a structureaware search heuristic. We evaluated our CP models and proposed improvements against existing approaches, including a simple greedy approach and MINTS, the state-of-theart tool of the software engineering community. Our experiments show that CP outperforms both the greedy approach and MINTS when it is interfaced with MiniSAT, in terms of percentage of reduction and execution time. When MINTS is interfaced with CPLEX, we show that our CP model performs better only on percentage of reduction. Finally, by working closely with validation engineers from Cisco Systems, Norway, we integrated our CP model into an industrial regression testing process.
Arnaud Gotlieb, Mats Carlsson, Marius Liaaen, Dusica Marijan, Alexandre Petillon
AAAI2
2016 Register allocation and instruction scheduling in Unison
abstract
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs register allocation and instruction scheduling in integration using combinatorial optimization. The tool can be used as an alternative or as a complement to traditional approaches, which are fast but complex and suboptimal. Unison is most suitable whenever high-quality code is required and longer compilation times can be tolerated (such as in embedded systems or library releases), or the targeted processors are so irregular that traditional compilers fail to generate satisfactory code.
Roberto Castañeda Lozano, Mats Carlsson, Gabriel Hjort Blindell, Christian Schulte 0001
CC2
2016 Systematic Derivation of Bounds and Glue Constraints for Time-Series Constraints
Ekaterina Arafailova, Nicolas Beldiceanu, Mats Carlsson, Pierre Flener, María Andreína Francisco Rodríguez, Justin Pearson, Helmut Simonis
CP3
2015 Modeling Universal Instruction Selection
Gabriel Hjort Blindell, Roberto Castañeda Lozano, Mats Carlsson, Christian Schulte 0001
CP3
2015 Erratum to: Modeling Universal Instruction Selection
Gabriel Hjort Blindell, Roberto Castañeda Lozano, Mats Carlsson, Christian Schulte 0001
CP3
2015 Directional Transmissions and Receptions for High-throughput Bulk Forwarding in Wireless Sensor Networks
abstract
We present DPT: a wireless sensor network protocol for bulk traffic that uniquely leverages electronically switchable directional (ESD) antennas. Bulk traffic is found in several scenarios and supporting protocols based on standard antenna technology abound. ESD antennas may improve performance in these scenarios; for example, by reducing channel contention as the antenna can steer the radiated energy only towards the intended receivers, and by extending the communication range at no additional energy cost. The corresponding protocol support, however, is largely missing. DPT addresses precisely this issue. First, while the network is quiescent, we collect link metrics across all possible antenna configurations. We use this information to formulate a constraint satisfaction problem (CSP) that allows us to find two multi-hop disjoint paths connecting source and sink, along with the corresponding antenna configurations. Domain-specific heuristics we conceive ameliorate the processing demands in solving the CSP, improving scalability. Second, the routing configuration we obtain is injected back into the network. During the actual bulk transfer, the source funnels data through the two paths by quickly alternating between them. Packet forwarding occurs deterministically at every hop. This allows the source to implicitly "clock" the entire pipeline, sparing the need of proactively synchronizing the transmissions across the two paths. Our results, obtained in a real testbed using 802.15.4-compliant radios and custom ESD antennas we built, indicate that DPT approaches the maximum throughput supported by the link layer, peaking at 214 kbit/s in the settings we test.
Ambuj Varshney, Luca Mottola, Mats Carlsson, Thiemo Voigt
SenSys3
2014 Linking Prefixes and Suffixes for Constraints Encoded Using Automata with Accumulators
Nicolas Beldiceanu, Mats Carlsson, Pierre Flener, María Andreína Francisco Rodríguez, Justin Pearson
CP2
2014 An Integrated Constraint Programming Approach to Scheduling Sports Leagues with Divisional and Round-Robin Tournaments
Jeffrey Larson 0001, Mikael Johansson 0001, Mats Carlsson
CPAIOR3
2014 Combinatorial spill code optimization and ultimate coalescing
abstract
This paper presents a novel combinatorial model that integrates global register allocation based on ultimate coalescing, spill code optimization, register packing, and multiple register banks with instruction scheduling (including VLIW). The model exploits alternative temporaries that hold the same value as a new concept for ultimate coalescing and spill code optimization.
Roberto Castañeda Lozano, Mats Carlsson, Gabriel Hjort Blindell, Christian Schulte 0001
LCTES2
2013 A Synchronized Sweep Algorithm for the k-dimensional cumulative Constraint
Arnaud Letort, Mats Carlsson, Nicolas Beldiceanu
CPAIOR2
2013 GAC for a Linear Inequality and an Atleast Constraint with an Application to Learning Simple Polynomials
abstract
We provide a filtering algorithm achieving GAC for the conjunction of constraints atleast (b, [x(0),x(1),...,x(n-1)], V) and (a(0)*x(0) +...+ a(n-1)*x(n-1)) <= c, where the atleast constraint enforcesb variables out of x(0), x(1), ..., x(n-1) to be assigned to avalue in the set V. This work was motivated by learning simplepolynomials, i.e. finding the coefficients of polynomialsin several variables from example parameter and function values.We additionally require that coefficients be integers, andthat most coefficients be assigned to zero or integers close to0. These problems occur in the context of learning constraintmodels from sample solutions of different sizes. Experimentswith this more global filtering show an improvement by severalorders of magnitude compared to handling the constraintsin isolation or with cost gcc, while also out-performing a0/1 MIP model of the problem.
Naina Razakarison, Mats Carlsson, Nicolas Beldiceanu, Helmut Simonis
SOCS2
2012 A Scalable Sweep Algorithm for the cumulative Constraint
Arnaud Letort, Nicolas Beldiceanu, Mats Carlsson
CP3
2012 Constraint-Based Register Allocation and Instruction Scheduling
Roberto Castañeda Lozano, Mats Carlsson, Frej Drejhammar, Christian Schulte 0001
CP2
2012 SICStus Prolog - The first 25 years
abstract
Abstract SICStus Prolog has evolved for nearly 25 years. This is an appropriate point in time for revisiting the main language and design decisions, and try to distill some lessons. SICStus Prolog was conceived in a context of multiple, conflicting Prolog dialect camps and a fledgling standardization effort. We reflect on the impact of this effort and role model implementations on our development. After summarizing the development history, we give a guided tour of the system anatomy, exposing some designs that were not published before. We give an overview of our new interactive development environment, and describe a sample of key applications. Finally, we try to identify key good and not so good design decisions.
Mats Carlsson, Per Mildner
Theory Pract. Log. Program.1
2010 A Generic Visualization Platform for CP
Helmut Simonis, Paul Davern, Jacob Feldman, Deepak Mehta 0001, Luis Quesada 0001, Mats Carlsson
CP6
2010 On Matrices, Automata, and Double Counting
Nicolas Beldiceanu, Mats Carlsson, Pierre Flener, Justin Pearson
CPAIOR2
2009 Six Ways of Integrating Symmetries within Non-overlapping Constraints
Magnus Rattfeldt, Nicolas Beldiceanu, Mats Carlsson, Mohamed Sbihi, Charlotte Truchet, Stéphane Zampelli
CPAIOR3
2008 A Geometric Constraint over k-Dimensional Objects and Shapes Subject to Business Rules
Mats Carlsson, Nicolas Beldiceanu, Julien Martin
CP1
2008 New Filtering for the cumulative Constraint in the Context of Non-Overlapping Rectangles
Nicolas Beldiceanu, Mats Carlsson, Emmanuel Poder
CPAIOR2
2007 A Generic Geometrical Constraint Kernel in Space and Time for Handling Polymorphic k-Dimensional Objects
Nicolas Beldiceanu, Mats Carlsson, Emmanuel Poder, R. Sadek, Charlotte Truchet
CP2
2006 Graph Properties Based Filtering
Nicolas Beldiceanu, Mats Carlsson, Sophie Demassey, Thierry Petit
CP2
2005 Graph Invariants as Necessary Conditions for Global Constraints
Nicolas Beldiceanu, Mats Carlsson, Jean-Xavier Rampon, Charlotte Truchet
CP2
2004 Dispensation Order Generation for Pyrosequencing
Mats Carlsson, Nicolas Beldiceanu
APBC1
2004 Deriving Filtering Algorithms from Constraint Checkers
Nicolas Beldiceanu, Mats Carlsson, Thierry Petit
CP2
2004 From Constraints to Finite Automata to Filtering Algorithms
Mats Carlsson, Nicolas Beldiceanu
ESOP1
2002 A New Multi-resource cumulatives Constraint with Negative Heights
Nicolas Beldiceanu, Mats Carlsson
CP2
2001 Sweep as a Generic Pruning Technique Applied to the Non-overlapping Rectangles Constraint
Nicolas Beldiceanu, Mats Carlsson
CP2
2001 Revisiting the Cardinality Operator and Introducing the Cardinality-Path Constraint Family
Nicolas Beldiceanu, Mats Carlsson
ICLP2
2001 Instruction Merging and Specialization in the SICStus Prolog Virtual Machine
abstract
Wanting to improve execution speed and reduce code size of SICStus Prolog programs, we embarked on a project whose aim was to systematically investigate combination and specialization of WAM instructions. Various variants of the SICStus Prolog virtual machine instruction set were designed, implemented, and their performance was evaluated against standard benchmarks and on big Prolog programs. In this paper, we describe our methodology in finding appropriate candicates for instruction merging and specialization, discuss related trade-offs, present detailed statistics and performance measurements that we gathered, and report on our experiences from our involvement in this feat. In short, our experience is positiv e: the speedup of performing instruction merging and specialization in the context of the SICStus emulator is approximately 10%, while the bytecode size reduction is about 15%.
Henrik Nässén, Mats Carlsson, Konstantinos Sagonas
PPDP2
2001 Parallel execution of prolog programs: a survey
abstract
Since the early days of logic programming, researchers in the field realized the potential for exploitation of parallelism present in the execution of logic programs. Their high-level nature, the presence of nondeterminism, and their referential transparency, among other characteristics, make logic programs interesting candidates for obtaining speedups through parallel execution. At the same time, the fact that the typical applications of logic programming frequently involve irregular computations, make heavy use of dynamic data structures with logical variables, and involve search and speculation, makes the techniques used in the corresponding parallelizing compilers and run-time systems potentially interesting even outside the field. The objective of this article is to provide a comprehensive survey of the issues arising in parallel execution of logic programming languages along with the most relevant approaches explored to date in the field. Focus is mostly given to the challenges emerging from the parallel execution of Prolog programs. The article describes the major techniques used for shared memory implementation of Or-parallelism, And-parallelism, and combinations of the two. We also explore some related issues, such as memory management, compile-time analysis, and execution visualization.
Gopal Gupta 0001, Enrico Pontelli, Khayri A. M. Ali, Mats Carlsson, Manuel V. Hermenegildo
ACM Trans. Program. Lang. Syst.4
1999 Aggregation and reclassification-assessment of GALEN methods in the domain of thoracic surgery
Mats Carlsson, Jeremy Rogers, Hans Åhlfeldt
AMIA1
1996 Towards an Open Finite Domain Constraint Solver
Mats Carlsson, Björn Carlson, Greger Ottosson
CP1
1995 Compiling and Executing Disjunctions of Finite Domain Constraints
Björn Carlson, Mats Carlsson
ICLP2
1994 Entailment of Finite Domain Constraints
Björn Carlson, Mats Carlsson, Daniel Diaz 0001
ICLP2
1993 Automatic Frequency Assignment for Cellular Telephones Using Constraint Satisfaction Techniques
Mats Carlsson, Mats Grindal
ICLP1
1989 On the Efficiency of Optimising Shallow Backtracking in Compiled Prolog
Mats Carlsson
ICLP1
1987 Freeze, Indexing, and Other Implementation Issues in the WAM
Mats Carlsson
ICLP1