Embracing Objects Over Statics: An Analysis of Method Preferences in Open Source Java Frameworks
- URL: http://arxiv.org/abs/2410.05631v1
- Date: Tue, 8 Oct 2024 02:30:20 GMT
- Title: Embracing Objects Over Statics: An Analysis of Method Preferences in Open Source Java Frameworks
- Authors: Vladimir Zakharov, Yegor Bugayenko,
- Abstract summary: This study scrutinizes the runtime behavior of 28 open-source Java frameworks using the YourKit profiler.
Contrary to expectations, our findings reveal a predominant use of instance methods and constructors over static methods.
- Score: 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: In today's software development landscape, the extent to which Java applications utilize object-oriented programming paradigm remains a subject of interest. Although some researches point to the considerable overhead associated with object orientation, one might logically assume that modern Java applications would lean towards a procedural style to boost performance, favoring static over instance method calls. In order to validate this assumption, this study scrutinizes the runtime behavior of 28 open-source Java frameworks using the YourKit profiler. Contrary to expectations, our findings reveal a predominant use of instance methods and constructors over static methods. This suggests that developers still favor an object-oriented approach, despite its potential drawbacks.
Related papers
- Icing on the Cake: Automatic Code Summarization at Ericsson [4.145468342589189]
We evaluate the performance of an approach called Automatic Semantic Augmentation of Prompts (ASAP)
We compare the performance of four simpler approaches that do not require static program analysis, information retrieval, or the presence of exemplars.
arXiv Detail & Related papers (2024-08-19T06:49:04Z) - Context-Sensitive Abstract Interpretation of Dynamic Languages [0.0]
There is a vast gap in the quality of IDE tooling between static languages like Java and dynamic languages like Python or JavaScript.
Modern frameworks and libraries in these languages heavily use their dynamic capabilities to achieve the best ergonomics and readability.
We propose an algorithm that can bridge this gap by statically analyzing dynamic metaprogramming and runtime in programs.
arXiv Detail & Related papers (2024-01-31T17:45:05Z) - Outside the Sandbox: A Study of Input/Output Methods in Java [0.0]
We manually categorized 1435 native methods in a Java Standard Edition distribution into non-I/O and I/O-related methods.
Results showed that 21% of the executed methods directly or indirectly called an I/O native.
We conclude that I/O is not a viable option for tool designers and suggest the integration of I/O-related metadata with source code.
arXiv Detail & Related papers (2023-06-20T20:54:02Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
Execution-based benchmarks have been proposed to evaluate functional correctness of model-generated code on simple programming problems.
static analysis tools such as linters, which can detect errors without running the program, haven't been well explored for evaluating code generation models.
We propose a static evaluation framework to quantify static errors in Python code completions, by leveraging Abstract Syntax Trees.
arXiv Detail & Related papers (2023-06-05T19:23:34Z) - Cycle Consistency Driven Object Discovery [75.60399804639403]
We introduce a method that explicitly optimize the constraint that each object in a scene should be associated with a distinct slot.
By integrating these consistency objectives into various existing slot-based object-centric methods, we showcase substantial improvements in object-discovery performance.
Our results suggest that the proposed approach not only improves object discovery, but also provides richer features for downstream tasks.
arXiv Detail & Related papers (2023-06-03T21:49:06Z) - A Language Model of Java Methods with Train/Test Deduplication [5.529795221640365]
This tool demonstration presents a research toolkit for a language model of Java source code.
The target audience includes researchers studying problems at the granularity level of subroutines, statements, or variables in Java.
arXiv Detail & Related papers (2023-05-15T00:22:02Z) - Frustratingly Simple but Effective Zero-shot Detection and Segmentation:
Analysis and a Strong Baseline [45.03824571286718]
Methods for object detection and segmentation often require abundant instance-level annotations for training, which are time-consuming and expensive to collect.
To address this, the task of zero-shot object detection (or segmentation) aims at learning effective methods for identifying and localizing object instances for the categories that have no supervision available.
In this work, we extensively study these design choices, and carefully construct a simple yet extremely effective zero-shot recognition method.
arXiv Detail & Related papers (2023-02-14T20:00:30Z) - Object-Oriented Requirements: a Unified Framework for Specifications,
Scenarios and Tests [63.37657467996478]
Article shows that the concept of class is general enough to describe not only "objects" in a narrow sense but also scenarios such as use cases and user stories.
Having a single framework opens the way to requirements that enjoy the benefits of both approaches.
arXiv Detail & Related papers (2022-09-06T02:47:20Z) - FreeSOLO: Learning to Segment Objects without Annotations [191.82134817449528]
We present FreeSOLO, a self-supervised instance segmentation framework built on top of the simple instance segmentation method SOLO.
Our method also presents a novel localization-aware pre-training framework, where objects can be discovered from complicated scenes in an unsupervised manner.
arXiv Detail & Related papers (2022-02-24T16:31:44Z) - Learning visual policies for building 3D shape categories [130.7718618259183]
Previous work in this domain often assembles particular instances of objects from known sets of primitives.
We learn a visual policy to assemble other instances of the same category.
Our visual assembly policies are trained with no real images and reach up to 95% success rate when evaluated on a real robot.
arXiv Detail & Related papers (2020-04-15T17:29:10Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.