<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>IWST 2023: International Workshop on Smalltalk Technologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stéphane Ducasse</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gordana Rakić</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>RMOD INRIA Lille - Nord Europe, Parc Scientifique de la Haute Borne 40</institution>
          ,
          <addr-line>avenue Halley Bât.A, Park Plaza 59650 Villeneuve d'Ascq</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Novi Sad, Faculty of Scieneces, Department of Mathematics and Informatics, SQLab</institution>
          ,
          <addr-line>Trg Dositeja Obradovića 4 21000 Novi Sad</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The International Workshop on Smalltalk Technologies (IWST) is traditionally organized within the European Smalltalk User Group (ESUG) conference. Its goal is to create a forum around contributions and experiences on building or using technologies related to Smalltalk and its derivatives. IWST welcomes papers on any aspect of Smalltalk, from the theoretical as well as practical perspective, including research and industrial papers. IWST 2023 has received 13 submissions that passed through a 2-round reviewing process. After the first round, 10 papers were directly accepted while 3 papers were conditionally accepted. The second review round confirmed that all the papers were improved according to the reviewers' suggestions and, finally, all 13 papers were accepted for presentation and publication in the IWST 2023 Proceedings. After all, the three best papers received awards under the sponsorship of Lam Research Corporation.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;EUSG</kwd>
        <kwd>European Smalltalk User Group</kwd>
        <kwd>IWST</kwd>
        <kwd>International Workshop on Smalltalk Technologies</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Preface</title>
      <p>This volume contains papers presented at IWST 2023: International Workshop on Smalltalk
Technologies. IWST 2023 was held from the 29th to the 31st of August, 2023, in Lyon, France.</p>
      <p>IWST 2023 continues the tradition of a successful series of events co-located with the European
Smalltalk User Group (ESUG) conferences focused on contributions and experiences in building
and using Smalltalk Technologies. Its aim is to gather developers and users of Smalltalk-related
technologies around the presentation, discussion, and dissemination of the latest scientific and
practical achievements in the form of research or industrial papers. The workshop welcomes
position papers, papers describing work in progress, tool demonstration papers, technical and
industrial reports, and papers designed to provoke debate and inspire future collaborations and
contributions.</p>
      <p>The IWST 2023 workshop consisted of four technical sessions with contributions reviewed
and selected by an international program committee. IWST 2023 has received 13 submissions.
All presented and published papers were at least triple-reviewed and passed through a 2-round
reviewing process. After the first round, 10 papers were directly accepted while 3 papers were
conditionally accepted. The second review round confirmed that all the papers were improved
according to the reviewers’ suggestions and, finally, all 13 papers (see Section 2) were accepted
for presentation and publication in the IWST 2023 Proceedings. After all, the three best papers
received the best paper awards (Section 2.1).</p>
      <p>We are grateful to all PC members (Section 3.2) for submitting careful and timely opinions
on the papers. Our special thanks are also addressed to the ESUG board for co-locating and
co-organizing IWST with the ESUG conference, while we thank the IUT Lumiere Lyon, France
for hosting and organizing both events. Finally, a special thanks goes to the Lam Research
Corporation for sponsoring the best paper awards.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Workshop Program</title>
      <p>The workshop accepted 12 full papers and a short paper. Three full papers were awarded based
on the reviewing scores and audience voting.</p>
      <sec id="sec-2-1">
        <title>2.1. Awarded papers</title>
        <p>We congratulate to winners of the first, second, and third prizes in the competition for the best
paper award at the IST 2023, respectively:</p>
        <p>I Garbage Collector Tuning in Pathological Allocation Pattern Applications by Nahuel
Palumbo, Sebastian Jordan Montaño, Guillermo Polito, Pablo Tesone and Stéphane Ducasse
The first prize winners present a methodology to identify the causes of Garbage Collector
(GC) overhead in Pharo applications for tuning GC parameters. They describe the GC inside
the PharoVM (Pharo Virtual Machine) and its parameters, looking at how their variations
change the allocation behavior. They were able to analyze, identify, and understand the GC
performance issues present in one real application and suggest specific GC tuning actions.
Using the suggested parameter values, they improved its performance by up to 12x and
reduced GC overhead by up to 3.8x.</p>
        <p>II Exploring GitHub Actions through EGAD: An Experience Report by Pablo
Valenzuela, Alexandre Bergel, Timo Kehrer and Oscar Nierstrasz
The second awarded paper presents an experience developing and using the Explorable
GitHub Action Domain Model (EGAD), a moldable domain-specific tool implemented on
Glamorous Toolkit (GT) to depict and analyze detailed GA workflow data. It shares valuable
insights focusing on three key areas:(i) composing stories to develop domain models, (ii)
conducting research by navigating custom views, and (iii) supporting the onboarding of
researchers on GT.</p>
        <p>III PharoJS: Transpiling Pharo Classes to JS - ECMAScript 5 versus ECMAScript 6 by
Noury Bouraqadi and Dave Mason
The third prize goes to the paper that describes the changes that have been made to PharoJS
to switch from ECMAScript 5 standard (ES5) to ECMAScript 6 (ES6). Here, PharoJS is an
open-source infrastructure that allows applications to be developed and tested in Pharo
Smalltalk, but to ultimately run on a JavaScript (JS) interpreter. One of the major features
provided by ES6 is a set of new constructs to explicitly support class-based programming.
The paper describes the consequences of adopting ES6, on generated code, and the positive
impact on all performance metrics.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Regular papers</title>
        <p>• SmallEvoTest: Genetically Created Unit Tests for Smalltalk is a short paper by
Alexandre Bergel, Alison Fernandez Blanco, Juan Pablo Sandoval Alcocer and Geraldine
Galindo Gutierrez introduces an approach aimed at automatically generating fully
executable unit tests suitable for dynamically typed programming languages. The approach
is tuned for dynamically-typed and class-based programming languages and it is
implemented in the Pharo programming language. To address the absence of static type
annotations, the approach utilizes a just-in-time example-collecting technique and
employs a genetic algorithm to drive the evolution of the unit tests.
• Migration process from monolithic to micro frontend architecture in mobile
applications by Quentin Capdepon, Nicolas Hlad, Abdelhak-Djamel Seriai and Moustapha
Derras
This paper introduces a plan for migrating monolithic mobile applications to Micro
FrontEnd (MFE) architectures using the model-driven engineering (MDE) approach. The Dart
meta-model is based on Famix and the architecture migration is conducted on this model
using Moose. Alongside the process description, the authors expose the identification
challenges, limitations, and future work needed to achieve it. Therefore, this paper mainly
discusses possible solutions regarding the feasibility of our migration process.
• A Unit Test Metamodel for Test Generation by Gabriel Darbord, Anne Etien, Nicolas
Anquetil, Benoît Verhaeghe and Mustapha Derras presents a unit test meta-model that
enables the generation of unit tests. The meta-model provides a language-agnostic
abstraction that enables automated transformation and code generation. The authors use
the Famix family of models and tools from the Moose platform to build our meta-model
and for code analysis.
• Analyzing Dart Language with Pharo: Report and early results by Nicolas Hlad,
Benoit Verhaeghe and Mustapha Derras
In this paper, authors share their experience regarding the usage of Pharo 10 to support
the analysis of Dart2.10 and present their early work on a set of open-source tools. Their
tools cover the parsing of Dart with SmaCC, the visualization of its AST with Roassal,
and its meta-model analysis with Moose and Famix.
• Pattern matching in Pharo by Aless Hosry, Nicolas Anquetil, Stephane Ducasse and
Vincent Aranega presents the syntax of two pattern matchers: RBParseTreeSearcher
ofered by Pharo IDE and Refactoring Framework and MoTion recently introduced by
authors and compares them on their expressiveness and time eficiency.
• Improving Performance Through Object Lifetime Profiling: the DataFrame Case
by Sebastian Jordan Montaño, Nahuel Palumbo, Guillermo Polito, Stéphane Ducasse and
Pablo Tesone
Authors have developed an open-source lifetime profiler. The current implementation
does not require Virtual Machine modification and it is based on ephemerons and method
proxies. They profiled DataFrame and observed a significant number of objects that lived
a long time. This information is used to tune the garbage collector parameters and we
got up to 6.8× of performance improvements.
• Threaded-Execution and CPS Provide Smooth Switching Among Execution Modes
by Dave Mason discusses using a combination of Continuation-Passing-Style for native
code in combination with a Threaded-Execution model to address this tension and provide
the best of all worlds.
• Sequence: Pipeline modelling in Pharo by Dmtiry Matveev introduces Sequence: a
Pharo package for rapid pipeline execution modelling. Built on the powers of Smalltalk
and the Pharo interactive environment, Sequence ofers a compact syntax to express
pipelines and their properties, a sophisticated simulation engine, and Roassal-based
visualization for interactive trace inspection.
• Pharo DataFrame: Past, Present, and Future by Larisa Safina, Oleksandr Zaitsev, Cyril
Ferlicot-Delbecque and Papa Ibrahima Sow
In this paper, the authors present the Pharo DataFrame library, show examples of its usage,
and compare its API to that of pandas. They give an overview of the changes that have
been made since DataFrame v1.0, discuss the limitations of the current implementation,
and present the roadmap for the future.
• Pharo: a reflective language – A first systematic analysis of reflective APIs by
Iona Thomas, Stéphane Ducasse, Pablo Tesone and Guillermo Polito
The authors analyze the reflective operations used in Pharo 11. They classify the current
reflective operations in diferent families. Also, we identify a set of issues raised by the use
of reflective operations. Such an analysis of reflective operations in Pharo is important to
support the revision of the reflective layer and its potential redesign.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Workshop organization</title>
      <p>The papers have been reviewed by an international Program Committee (PC) and selected by
PC chairs.</p>
      <sec id="sec-3-1">
        <title>Stéphane Ducasse, Inria Lille, France, and Gordana Rakić, University of Novi Sad, Serbia</title>
        <sec id="sec-3-1-1">
          <title>3.3. TechnicalEditor</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Ivan Pribela, University of NoviSad, Serbia</title>
        <sec id="sec-3-2-1">
          <title>3.4. Organizing and hosting</title>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>IUT Lumière Lyon, France</title>
        <sec id="sec-3-3-1">
          <title>3.5. Sponsoring</title>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>ESUG: Europen Smalltalk User Group (organisation), and</title>
        <p>Lam Research Corporation (awards)</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          3.1.
          <source>Program chairs 3</source>
          .2. Program committee
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>