Volume 31, Issue 2April 2022
  • Mauro Pezzè
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Editorial: A Retrospective and Prospective Reflection
April 2022, Article No.: 18e, pp 1–2https://doi.org/10.1145/3523278
Model Transformation Development Using Automated Requirements Analysis, Metamodel Matching, and Transformation by Example
April 2022, Article No.: 18, pp 1–71https://doi.org/10.1145/3471907

In this article, we address how the production of model transformations (MT) can be accelerated by automation of transformation synthesis from requirements, examples, and metamodels. We introduce a synthesis process based on metamodel matching, ...

    Measuring and Modeling Group Dynamics in Open-Source Software Development: A Tensor Decomposition Approach
    April 2022, Article No.: 19, pp 1–50https://doi.org/10.1145/3473139

    Many open-source software projects depend on a few core developers, who take over both the bulk of coordination and programming tasks. They are supported by peripheral developers, who contribute either via discussions or programming tasks, often for a ...

    Classifying Mobile Applications Using Word Embeddings
    April 2022, Article No.: 20, pp 1–30https://doi.org/10.1145/3474827

    Modern application stores enable developers to classify their apps by choosing from a set of generic categories, or genres, such as health, games, and music. These categories are typically static—new categories do not necessarily emerge over time to ...

    Feature Matching-based Approaches to Improve the Robustness of Android Visual GUI Testing
    April 2022, Article No.: 21, pp 1–32https://doi.org/10.1145/3477427

    In automated Visual GUI Testing (VGT) for Android devices, the available tools often suffer from low robustness to mobile fragmentation, leading to incorrect results when running the same tests on different devices.

    To soften these issues, we evaluate two ...

    Open Access
    ConE: A Concurrent Edit Detection Tool for Large-scale Software Development
    April 2022, Article No.: 22, pp 1–26https://doi.org/10.1145/3478019

    Modern, complex software systems are being continuously extended and adjusted. The developers responsible for this may come from different teams or organizations, and may be distributed over the world. This may make it difficult to keep track of what ...

    Why Do Developers Reject Refactorings in Open-Source Projects?
    April 2022, Article No.: 23, pp 1–23https://doi.org/10.1145/3487062

    Refactoring operations are behavior-preserving changes aimed at improving source code quality. While refactoring is largely considered a good practice, refactoring proposals in pull requests are often rejected after the code review. Understanding the ...

    Analyzing Uncertainty in Release Planning: A Method and Experiment for Fixed-Date Release Cycles
    April 2022, Article No.: 24, pp 1–39https://doi.org/10.1145/3490487

    Release planning—deciding what features to implement in upcoming releases of a software system—is a critical activity in iterative software development. Many release planning methods exist, but most ignore the inevitable uncertainty in estimating software ...

    How Software Refactoring Impacts Execution Time
    April 2022, Article No.: 25, pp 1–23https://doi.org/10.1145/3485136

    Refactoring aims at improving the maintainability of source code without modifying its external behavior. Previous works proposed approaches to recommend refactoring solutions to software developers. The generation of the recommended solutions is guided ...

    A Practical Approach for Dynamic Taint Tracking with Control-flow Relationships
    April 2022, Article No.: 26, pp 1–43https://doi.org/10.1145/3485464

    Dynamic taint tracking, a technique that traces relationships between values as a program executes, has been used to support a variety of software engineering tasks. Some taint tracking systems only consider data flows and ignore control flows. As a ...

    Open Access
    A Tale of Two Cities: Software Developers Working from Home during the COVID-19 Pandemic
    April 2022, Article No.: 27, pp 1–37https://doi.org/10.1145/3487567

    The COVID-19 pandemic has shaken the world to its core and has provoked an overnight exodus of developers who normally worked in an office setting to working from home. The magnitude of this shift and the factors that have accompanied this new unplanned ...

    Guided Feature Identification and Removal for Resource-constrained Firmware
    April 2022, Article No.: 28, pp 1–25https://doi.org/10.1145/3487568

    IoT firmware oftentimes incorporates third-party components, such as network-oriented middleware and media encoders/decoders. These components consist of large and mature codebases, shipping with a variety of non-critical features. Feature bloat increases ...

    Open Access
    In-IDE Code Generation from Natural Language: Promise and Challenges
    April 2022, Article No.: 29, pp 1–47https://doi.org/10.1145/3487569

    A great part of software development involves conceptualizing or communicating the underlying procedures and logic that needs to be expressed in programs. One major difficulty of programming is turning concept into code, especially when dealing with the ...

    Why Do Smart Contracts Self-Destruct? Investigating the Selfdestruct Function on Ethereum
    April 2022, Article No.: 30, pp 1–37https://doi.org/10.1145/3488245

    The selfdestruct function is provided by Ethereum smart contracts to destroy a contract on the blockchain system. However, it is a double-edged sword for developers. On the one hand, using the selfdestruct function enables developers to remove smart ...

    SECTION: Continuous Special Section: AI and SE

    Open Access
    What You See is What it Means! Semantic Representation Learning of Code based on Visualization and Transfer Learning
    April 2022, Article No.: 31, pp 1–34https://doi.org/10.1145/3485135

    Recent successes in training word embeddings for Natural Language Processing (NLP) tasks have encouraged a wave of research on representation learning for source code, which builds on similar NLP methods. The overall objective is then to produce code ...

    A Systematic Literature Review on the Use of Deep Learning in Software Engineering Research
    April 2022, Article No.: 32, pp 1–58https://doi.org/10.1145/3485275

    An increasingly popular set of techniques adopted by software engineering (SE) researchers to automate development tasks are those rooted in the concept of Deep Learning (DL). The popularity of such techniques largely stems from their automated feature ...

    OSS Effort Estimation Using Software Features Similarity and Developer Activity-Based Metrics
    April 2022, Article No.: 33, pp 1–35https://doi.org/10.1145/3485819

    Software development effort estimation (SDEE) generally involves leveraging the information about the effort spent in developing similar software in the past. Most organizations do not have access to sufficient and reliable forms of such data from past ...

    SemMT: A Semantic-Based Testing Approach for Machine Translation Systems
    April 2022, Article No.: 34e, pp 1–36https://doi.org/10.1145/3490488

    Machine translation has wide applications in daily life. In mission-critical applications such as translating official documents, incorrect translation can have unpleasant or sometimes catastrophic consequences. This motivates recent research on the ...

    SECTION: Continuous Special Section: Security and SE

    Buddy Stacks: Protecting Return Addresses with Efficient Thread-Local Storage and Runtime Re-Randomization
    April 2022, Article No.: 35e, pp 1–37https://doi.org/10.1145/3494516

    Shadow stacks play an important role in protecting return addresses to mitigate ROP attacks. Parallel shadow stacks, which shadow the call stack of each thread at the same constant offset for all threads, are known not to support multi-threading well. On ...

    A Study on Blockchain Architecture Design Decisions and Their Security Attacks and Threats
    April 2022, Article No.: 36e, pp 1–45https://doi.org/10.1145/3502740

    Blockchain is a disruptive technology intended to implement secure decentralised distributed systems, in which transactional data can be shared, stored, and verified by participants of the system without needing a central authentication/verification ...

    Software Engineering for AI-Based Systems: A Survey
    April 2022, Article No.: 37e, pp 1–59https://doi.org/10.1145/3487043

    AI-based systems are software systems with functionalities enabled by at least one AI component (e.g., for image-, speech-recognition, and autonomous driving). AI-based systems are becoming pervasive in society due to advances in AI. However, there is ...



    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!