Skip to Main content Skip to Navigation
Reports

Characterizing Pharo Code: A Technical Report

Oleksandr Zaitsev 1, 2 Stéphane Ducasse 1 Nicolas Anquetil 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : Pharo (https://pharo.org/) is a modern dynamically-typed reflective pure object-oriented language. It is inspired from Smalltalk. Its unconventional syntax mimics natural language: arguments are not grouped around parentheses at the end but within the message, making expressions looks like sentences. In addition, all control flow operations are expressed as messages and the programmer can freely define new ones and as such define Domain Specific Languages for his task. In this technical report we discuss the statistical properties of source code that people write using Pharo programming language. We present the methodology and tooling for analysing source code selected from the projects of Pharo ecosystem. By analysing 50 projects, consisting of 824 packages, 13,935 classes, and 151,717 methods, we answer questions such as "what is a typical method length?" or "what percent of source code are literals?".
Document type :
Reports
Complete list of metadatas

Cited literature [30 references]  Display  Hide  Download

https://hal.inria.fr/hal-02440055
Contributor : Oleksandr Zaitsev <>
Submitted on : Tuesday, January 14, 2020 - 10:27:14 PM
Last modification on : Tuesday, November 24, 2020 - 2:18:28 PM
Long-term archiving on: : Wednesday, April 15, 2020 - 8:18:22 PM

File

Zait20a-TechReport.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-02440055, version 1

Collections

Citation

Oleksandr Zaitsev, Stéphane Ducasse, Nicolas Anquetil. Characterizing Pharo Code: A Technical Report. [Technical Report] Inria Lille Nord Europe - Laboratoire CRIStAL - Université de Lille; Arolla. 2020. ⟨hal-02440055⟩

Share

Metrics

Record views

284

Files downloads

513