Skip to content

Towards Abstraction and Automation in Software Engineering

2014 · 1 citation · 31 references
Computer Science

TL;DR

The results of this study show that the Ball ecosystem has the potential to improve the productivity of software development, however, it should produce smaller and more reasonable software systems, leading to a better reusability and a shorter learning phase for new developers.

Abstract

Novel software development approaches are embracing abstraction and automation techniques. It is claimed that abstraction and automation techniques increase the productivity, improve the reusability and lower the complexity of the projects. In this study we address these new frontiers of software development by investigating on one novel proposal, namely the Ball. The Ball is an information ecosystem for authorised information containing web content, digital content as well as service development and integration. It is claimed to improve the reusability, productivity and security of software development while lowering the complexity. While improving the software developer’s productivity it should produce smaller and more reasonable software systems, leading to a better reusability and a shorter learning phase for new developers. Up to now there exists no evidence to support these claims. In this study we analyse the Ball ecosystem from multiple perspectives. We compare it to related approaches in order to find its advantages and disadvantages. In order to provide empirical data we replicated a study where a mobile information system was developed using three different technologies. The results of this study show that the Ball ecosystem has the potential to improve the productivity of software development. However, it

Read PDF

Similar papers

Review

Clean Architecture in Modern Software Development: Ally or Villain?

It was concluded that Clean Architecture cannot be viewed solely as an ally or a villain, as its effectiveness depends on project characteristics, team experience, and the proportionate application of its principles.

Unknown authors · 0 citations

RI: A DSL for Software Development Project Continuous Configuration

A Domain-Specific Language (DSL), named RI language, designed for the declarative description of microservices, along with a supporting tool, TSE (Toolbox Service Executor), implemented in Python and based on the RI grammar, enables the representation of structural and operational aspects of services in a technology-agnostic manner.

Cássio Ritse, Machado Dos, Santos Silva et al. · 0 citations
Open access Aug 2026

Algorithm-driven Development: A proactive approach to improving software quality and reducing defects

Algorithm-Driven Development is introduced, a methodology developed from industrial practice to address recurring challenges in translating requirements into reliable, testable, and maintainable software behavior that provides systematic coverage of functional scenarios from the outset of development.

Philippe Jawish, Pierre Evrard, Alexandre Lemerle et al. · 0 citations
Review

Analysis of programming language design and its impact on software quality

Findings indicate that software correctness is the primary objective in language design, supported by robust type systems, compile time verification, and expressive abstractions that help reduce errors and improve code reliability.

G. Adolfo, H. Rosado, H. Rosado · 0 citations
Preprint Aug 2026

AROMA+: A Study of Factors Affecting Reproducible Builds in the Maven Ecosystem

Modern software engineering establishes software supply chains and relies on tools and libraries to improve productivity. However, reusing external software in a project presents a security risk when the source of the component is unknown or the consistency of a component cannot be verified. Reproducible builds present a mitigation strategy, as they can confirm the origin and consistency of reused components. A large reproducibility community has formed for Debian, but the reproducibility of the Maven ecosystem, the backbone of the Java supply chain, remains understudied in comparison. Reproducible Central is an initiative that curates a list of reproducible Maven libraries, but the list is limited and challenging to maintain due to manual efforts. Our research aims to support these efforts in the Maven ecosystem through automation. We investigate the feasibility of automatically finding the source code of a library from its Maven release and recovering information about the original release environment. Our tool, AROMA+, can obtain this critical information from the artifact and the source repository through several heuristics and we use the results for reproduction attempts of packages on Maven Central. Overall, our approach achieves an accuracy of up to 99.8% when compared field-by-field to the existing manual approach. In some instances, we even detected flaws in the manually maintained list, such as broken repository links. We reveal that automatic reproducibility is feasible for 32% of the packages on Maven Central using AROMA+, and 12% of these packages are fully reproducible. We demonstrate our ability to successfully reproduce new packages and have contributed some of them to the Reproducible Central repository. Additionally, we highlight actionable insights, outline future work in this area, and make our dataset and tools publicly available.

Mehdi Keshani, Amirhossein Rahmati, Mohammad Hossein Aref et al. · 0 citations
Preprint Aug 2026

The Specification Paradox: Rethinking Requirements Engineering in the Age of AI

The growing adoption of Large Language Models (LLMs) in Software Engineering has reinforced the expectation that coding activities can be largely automated. However, this perception may represent yet another historical search for a solution capable of eliminating the inherent challenges of software development. This article discusses the transition from a code-centered paradigm to Specification-Driven Development. We argue that artificial intelligence reduces some of the effort associated with writing source code, but it does not eliminate the complexity of developing professional software systems. Instead, it shifts this complexity toward domain understanding, requirements elicitation, specification development, validation, maintenance, and software evolution. Building on this perspective, we discuss the renewed centrality of Requirements Engineering, considering its implications for productivity and software quality, as well as risks associated with automation bias, ambiguity propagation, Specification Overfitting, and the accumulation of Specification Debt. Finally, we propose the Specification Paradox: the more capable artificial intelligence systems become at automatically generating software, the greater the dependence on correct, complete, verifiable, and explainable human-produced specifications. We conclude that the future of Software Engineering will depend not only on machines'ability to generate code, but also on humans'ability to correctly specify, evaluate, and evolve what is intended to be built.

T. Sirqueira, Jessica Faciroli · 1 citation

Related blog posts

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.