skip to main content
10.1145/3475061acmotherconferencesBook PagePublication PagessblpConference Proceedingsconference-collections
SBLP '21: Proceedings of the 25th Brazilian Symposium on Programming Languages
ACM2021 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
SBLP'21: 25th Brazilian Symposium on Programming Languages Joinville Brazil 27 September 2021- 1 October 2021
ISBN:
978-1-4503-9062-0
Published:
05 October 2021

Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
SESSION: Compilers and Domain-Specific Languages
research-article
A Surprisingly Simple Lua Compiler

Dynamically-typed programming languages are often implemented using interpreters, which offer several advantages in terms of portability and flexibility of the implementation. However, as a language matures and its programs get bigger, programmers may ...

research-article
Hapi: A Domain-Specific Language for the Declaration of Access Policies

Access policies specify what are the actions that different actors can perform on the available resources. Access policies are a core notion in multiuser environments, such as operating systems and distributed databases. Currently, most of these ...

SESSION: Compiler Optimizations
research-article
Inlining for Code Size Reduction

Function inlining is a compiler optimization that replaces the call of a function with its body. Inlining is typically seen as an optimization that improves performance at the expenses of increasing code size. This paper goes against this intuition, ...

research-article
Evaluating Optimizations for a High-Level Language

Pallene aims to be a system language counterpart for Lua, with similar syntax but ahead-of-time compilation. It also has optional typing and stricter semantics, allowing it to emit C code with unboxed values, which enable several optimizations in the C ...

research-article
New Optimization Sequences for Code-Size Reduction for the LLVM Compilation Infrastructure

Typical compilers provide users with default optimization levels: sequences of code-transformation passes that can be tuned to either generate faster or smaller executables. Regarding this last dimension of efficiency—size—clang contains two ...

SESSION: Concurrent and Distributed Computing
research-article
High-Level Stream and Data Parallelism in C++ for Multi-Cores

Stream processing applications have seen an increasing demand with the increased availability of sensors, IoT devices, and user data. Modern systems can generate millions of data items per day that require to be processed timely. To deal with this ...

research-article
A Graph Transformation System formalism for correctness of Transactional Memory algorithms

With the constant research and development of Transactional Memory (TM) systems, various algorithms have been proposed, and their correctness is always an important aspect to take into account. When analyzing TM algorithms, one of the most commonly ...

research-article
An extension for Transactional Memory in OpenMP

The Transactional Memory model was proposed as a mechanism offering a higher-level programming interface to abstract some of the complexities associated with simultaneous access to shared data. Although modern tools for multithreaded programming offer ...

SESSION: Types
research-article
TSDolly: A program generator for TypeScript

TypeScript is an increasingly popular open-source language that builds on JavaScript by adding optional static type definitions. Its ecosystem has many tools that require confidence in their correctness when manipulating TypeScript programs. Tool ...

research-article
Graphs based on IR as Representation of Code: Types and Insights

Mainstream compilers infer code properties from data structures, such as trees and graphs. The latter is useful to represent the control flow and the data dependencies in a code. In addition, graphs can also be used in learning tasks, such as ...

research-article
Open Access
Retrofitting Typestates into Rust

As software permeates our lives, bugs become increasingly expensive; the best way to reduce their cost is to reduce the number of bugs. Of course, this is easier said than done and, at best, we can go after their root causes to mitigate them. One of ...

SESSION: Programming Architectures and Models
research-article
A Graph-based Model for Building Optimization Sequences: A Study Case on Code Size Reduction

Embedded Systems applications have several limitations, one of these limitations is the memory size. Modern compilers provide optimization sequences that reduce the code size, contributing to solve this memory issue. This paper presents a new approach ...

research-article
Open Access
Refactoring Java Monoliths into Executable Microservice-Based Applications

In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and ...

research-article
Synthesis of Random Real-World Java Programs from Preexisting Libraries

With the great advances in the software development area, where systems are becoming larger and more complex, the testing area is suffering to keep up with. In this paper, we describe a formal procedure to perform the synthesis of random programs from ...

Contributors
  • Santa Catarina State University
  • Santa Catarina State University
  • NOVA School of Science and Technology
Index terms have been assigned to the content through auto-classification.

Recommendations

Acceptance Rates

Overall Acceptance Rate22of50submissions,44%
YearSubmittedAcceptedRate
SBLP '19211048%
SBLP '18291241%
Overall502244%