ACM Transactions on

Software Engineering and Methodology (TOSEM)

Latest Articles


Runtime Fault Detection in Programmed Molecular Systems

Watchdog timers are devices that are commonly used to monitor the health of safety-critical hardware and software systems. Their primary function is... (more)

Understanding and Analyzing Java Reflection

Java reflection has been widely used in a variety of applications and frameworks. It allows a software system to inspect and change the behaviour of its classes, interfaces, methods, and fields at runtime, enabling the software to adapt to dynamically changing runtime environments. However, this dynamic language feature imposes significant... (more)

Domain Analysis and Description Principles, Techniques, and Modelling Languages

We present a method for analysing and describing domains. By a domain we shall understand a rationally describable segment of a human assisted... (more)

Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys

Requirements Engineering (RE) has established itself as a software engineering discipline over the past decades. While researchers have been investigating the RE discipline with a plethora of empirical studies, attempts to systematically derive an empirical theory in context of the RE discipline have just recently been started. However, such a theory is needed if we are to define and motivate... (more)

Isolation Modeling and Analysis Based on Mobility

In a mobile system, mobility refers to a change in position of a mobile object with respect to time and its reference point, whereas isolation means... (more)

How Understandable Are Pattern-based Behavioral Constraints for Novice Software Designers?

This article reports a controlled experiment with 116 participants on the understandability of representative graphical and textual pattern-based... (more)


ACM Transactions on Software Engineering and Methodology announces new ACM TOSEM board of distinguished reviewers

TOSEM is setting up a board of distinguished reviewers to guarantee timely and high quality reviews.
Distinguished Reviewers will be officially acknowledged in the journal, and will be consider for the editorial board after a reasonable service time.We appreciate self-nominations.

Please use this form to nominate YOURSELF for TOSEM BOARD OF DISTINGUISHED REVIEWERS. Self-nominations encouraged. 

read more


ACM Transactions on Software Engineering and Methodology 
Names Mauro Pezzè as

ACM Transactions on Software Engineering and Methodology (TOSEM) welcomes Mauro Pezzè as new Editor-in-Chief, for the term January 1, 2019 to December 31, 2021.

read more
Forthcoming Articles
Theoretical and Practical Aspects of Linking Operational and Algebraic Semantics for MDESL

Verilog is a hardware description language (HDL) that has been standardized and widely used in industry. MDESL is a Verilog-like language, which is a multithreaded discrete event simulation language. It contains interesting features such as event-driven computation and shared-variable concurrency. This paper considers how the algebraic semantics links with the operational semantics for MDESL. Our approach is from both the theoretical and practical aspects. The link is proceeded by deriving the operational semantics from the algebraic semantics. Firstly, we present the algebraic semantics for MDESL. We introduce the concept of head normal form. Secondly we present the strategy of deriving operational semantics from algebraic semantics. We also investigate the soundness and completeness of the derived operational semantics with respect to the derivation strategy. Our theoretical approach is complemented by a practical one, we use the theorem proof assistant Coq to formalize the algebraic laws and the derived operational semantics. Meanwhile, the soundness and completeness of the derived operational semantics is also verified via the mechanical approach in Coq. Our approach is a novel way to formalize and verify the correctness and equivalence of different semantics for MDESL in both a theoretical approach and a practical approach.

Automated N-way Program Merging for Facilitating Family-Based Analyses of Variant-Rich Software

Family-based-analysis strategies have recently shown very promising potentials for improving efficiency in applying quality-assurance techniques to variant-rich programs, as compared to variant-by-variant approaches. These strategies require a single program representation superimposing all program variants in a syntactically well-formed, semantically sound and variant-preserving manner, which is usually not available and manually hard to obtain in practice. We present a novel methodology, called SiMPOSE, for automatically generating superimpositions of existing program variants to facilitate family-based analyses of variant-rich software. Our N-way model-merging methodology integrates control-flow automaton (CFA) representations of N variants of a C program into one unified CFA representation, constituting a unified program abstraction as used internally by many recent software-analysis tools. To cope with the complexity of N-way merging, we (1) utilize principles of similarity-propagation to reduce the number of N-way matches, and (2) decompose sets of N variants into subsets thus enabling incremental N-way merging. In our experimental evaluation, we apply our SiMPOSE tool to collections of realistic C programs. The results reveal very impressive efficiency improvements of family-based analyses, by an average factor of up to 2.9 for unit-test generation and 2.4 for model-checking, as compared to variant-by-variant practices, thus clearly amortizing the additional effort for N-way merging.

Neural Network Based Detection of Self-admitted Technical Debt: From Performance to Explainability

Self-admitted technical debt(SATD) has been proposed to identify debt that is intentionally introduced during software development. Previous studies leveraged human-summarized patterns or text mining techniques to detect SATD in source code comments. However, several characteristics of SATD features in code comments, e.g., vocabulary diversity, project uniqueness, length and semantic variations, pose a big challenge to the accuracy of pattern or text-mining based SATD detection. Furthermore, although text-mining based method outperforms pattern-based method in prediction accuracy, the text features it uses are less intuitive than human-summarized patterns, which makes the prediction results hard to explain. To improve the accuracy of SATD prediction, we propose a Convolutional Neural Network (CNN)-based approach to detect SATD comments. To improve the explainability of our model's prediction results, we exploit the computational structure of CNNs to identify key phrases and patterns in code comments that are most relevant to SATD. We conducted an extensive set of experiments with 62,566 code comments from 10 open-source projects and a user study with 150 comments of another three projects. Our evaluation confirms the effectiveness of different aspects of our approach and its superior performance, generalizability, adaptability and explainability over current state-of-the-art traditional text-mining based methods for SATD classification.


ACM Transactions on Software Engineering and Methodology (TOSEM) is part of the family of journals produced by the ACM, the Association for Computing Machinery.

TOSEM publishes one volume yearly. Each volume is comprised of four issues, which appear in January, April, July and October.

All ACM Journals | See Full Journal Index

Search TOSEM
enter search term and/or author name