SC
S.S. Chakraborty
43 records found
1
Authored
Risotto
A Dynamic Binary Translator for Weak Memory Model Architectures
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of unmodified binaries. However, DBT systems face correctness and performance challenges, when emulating concurrent binaries from strong to weak memory consistency architectures. As ...
Lasagne
A static binary translator for weak memory model architectures
The emergence of new architectures create a recurring challenge to ensure that existing programs still work on them. Manually porting legacy code is often impractical. Static binary translation (SBT) is a process where a program's binary is automatically translated from one ar ...
Contributed
Efficient Program Synthesis via Anti-Unification
Enhancing Domain-Specific Language-Based Synthesis by Identifying and Utilizing Common Patterns
Program synthesis is the process of constructing programs that provably satisfy a given high-level user specification. Recent work in this domain has focused on utilizing domain-specific languages to guide the search procedure. This study proposes a novel approach to enhance the
...
Efficient Term-Rewriting Super-Optimisation
Specialising Rulesets to Reduce Time Requirements for Compiler Optimisation
Term-rewriting super-optimisation during compilation uses rewrite rules in order to restructure a provided code expression into the optimal form, comparing different expressions using a cost function. To reduce the compilation time taken by term-rewriting, the ruleset can be opti
...
Memory Layout Optimisation on Abstract Syntax Trees
Impact on Utilisation Speed During Type Checking and Code Generation Phases
In the field of software engineering, the speed of compilation plays a crucial role in enhancing development productivity. This thesis investigates the impact of optimising the memory layout of Abstract Syntax Trees (ASTs) on the performance of the type checking and code generati
...
Improving Enumerative Program Synthesis Performance by Extending Grammar from Solutions to Simpler Synthesis Problems
How can such approach be implemented in a synthesis system that cannot benefit from in-advance refinement of the synthesis algorithm parameters
Program synthesis is an important problem in computer science. One method often employed is enumerative program synthesis, which produces a sequence of programs in the target language until one solves the required input-output examples. This can yield undesirable runtimes for som
...
Comparative Analysis of Linking Efficiency
Evaluating LLD and mold through Insights into Performance Metrics and Architectural Differences in Software Linking Processes
This study examines the differences between two modern linkers, LLD and mold, focusing on their efficiency during software development. Although the linking process, which combines multiple object files into a single executable, typically occupies a minor fraction of the total co
...
Beyond Traditional Lexing
Exploiting SIMD Instructions for Tokenizing C
Over the past decades, Single Instruction, Multiple Data (SIMD) instructions have become common- place in conventional hardware. Lexical analysis, the first stage of compilation, can take advantage of this by splitting its workload across sub lexers that identify groups of tokens
...
Scaling Program Synthesis
Combining Programs Learned on Subsets of Examples
Program synthesis tackles the challenge of generating programs from user specifications, a task proven undecidable due to the exponential search space growth. In program synthesis the Divide and Conquer technique can be employed to prune this search. By decomposing specifications
...
Uncovering the Secrets of the Maven Repository
Analysis of Library Sizes in Maven Central
This research explores the size variations of artifacts in Maven Central, a repository containing a large collection of Java artifacts. This analysis sheds light on the coding habits and dependency management ecosystems within Maven Central, emphasizing the importance of managing
...
Expressing Intent
An evaluation of the Arm Machine Readable Specification
The behaviour of software is intrinsically linked to the hardware it runs on. As hardware innovations continuously change the landscape of computing, software has to adapt to these changes. Running legacy software on new hardware requires either the old hardware to be emulated, o
...
Uncovering Secrets of the Maven Repository
Maven packaging
Maven, a widely adopted software ecosystem for Java libraries, plays a critical role in the development and deployment of software applications. However, there exists a limited understanding of the composition and characteristics of the Maven repository, leaving users and contrib
...
Maven Central serves as the de-facto repository for distributing free and open-source Java libraries and components. Evaluating its present state and overall robustness is pivotal for enabling the community to make well-informed decisions concerning its future progression. Such i
...
Uncovering secrets of the Maven Repository: Java Build Aspects
An empirical analysis
The Maven Central Repository hosts over 11 million packages. As Maven itself is a build tool for Java, the majority of these packages are Java archives.
This research aims to analyze these packages and look into various build aspects of these projects (the research questions) ...
This research aims to analyze these packages and look into various build aspects of these projects (the research questions) ...
The current wireless networks can face congestion issues due to the increasing number of digital devices. One way to overcome this is to establish communica-tion at a different range of frequencies, specifically in visible light. Most studies in Visible Light Communication (VLC)
...
The multi-mode resource-constrained project scheduling problem (MRCPSP) is an NP-hard scheduling problem that concerns activities with several execution modes connected by precedence relations. Precedence relations define a partial ordering in which activities must be processed.
...
This paper presents the use of a heuristic solution method to improve the process of creating a conjunctive normal form (CNF) encoding of and finding optimal solutions to instances of the resource-constrained project scheduling problem with logical constraints (RCPSP-Log).
Modern compilers exploit syntax \& semantics to optimize input programs.
Often such optimization rules are arduous to get right and the output is not guaranteed to be globally optimal.
Superoptimizers take a different approach to this problem by traversing the program ...
Often such optimization rules are arduous to get right and the output is not guaranteed to be globally optimal.
Superoptimizers take a different approach to this problem by traversing the program ...
Computer architectures with weak memory models, such as ARMv8 and ARMv7, allow memory accesses to be reordered in many situations.
Therefore, weak memory models may cause a program to exhibit more behavior than a strong memory model, such as x86.
Fency is a static analysi ...
Therefore, weak memory models may cause a program to exhibit more behavior than a strong memory model, such as x86.
Fency is a static analysi ...
As more and more aspects of our society and economy rely on software, security vulnerabilities in programs have become an increasingly significant threat. One such class of vulnerabilities are out-of-bounds writes, which are still one of the most widespread and dangerous types of
...