arXiv.itsnick.co

an independent field guide to 23 million papers from arXiv & OpenAlex — not affiliated with arXiv.org

Author

Yijun Yu

234 papers · 1998–2026

1998: 11999: 12000: 12001: 32002: 32003: 42004: 72005: 92006: 62007: 82008: 162009: 62010: 82011: 162012: 82013: 152014: 152015: 112016: 82017: 112018: 82019: 112020: 92021: 72022: 82023: 52024: 42025: 112026: 14
1998peak 16 in 20082026

Frequent co-authors

Papers

showing 1–25 of 234 RSS

From goals to aspects: discovering aspects from requirements goal models

Yijun Yu, Juarez Leite, John Mylopoulos

Artificial Intelligence · Institutional Research Information System (Università degli Studi di Trento) · · cited 157× · DOI ↗ · more like this ·

Aspect-oriented programming (AOP) has been attracting much attention in the Software Engineering community by advocating that programs should be structured according to programmer concerns, such as “efficient use of memory”. However, like other programming paradigms in their early days, AOP hasn’t addressed yet earlier phases of software development. In particular, it is still an open question how one identifies aspects early on in the software development process. This paper proposes an answer to this question. Specifically, we show that aspects can be discovered during goal-oriented requirements analysis. Our proposal includes a systematic process for discovering aspects from relationships between functional and nonfunctional goals. We illustrate the proposed process with a case study adapted from the literature. 1.

Self-Supervised Contrastive Learning for Code Retrieval and Summarization via Semantic-Preserving Transformations

Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang

cs.SE · · cited 148× · arXiv ↗ · more like this ·

We propose Corder, a self-supervised contrastive learning framework for source code model. Corder is designed to alleviate the need of labeled data for code retrieval and code summarization tasks. The pre-trained model of Corder can be used in two ways: (1) it can produce vector representation of code which can be applied to code retrieval tasks that do not have labeled data; (2) it can be used in a fine-tuning process for tasks that might still require label data such as code summarization. The key innovation is that we train the source code model by asking it to recognize similar and dissimilar code snippets through a contrastive learning objective. To do so, we use a set of semantic-preserving transformation operators to generate code snippets that are syntactically diverse but semantically equivalent. Through extensive experiments, we have shown that the code models pretrained by…

On Goal-based Variability Acquisition and Analysis

Sotirios Liaskos, Alexei Lapouchnian, Yijun Yu +2 more

Artificial Intelligence · Institutional Research Information System (Università degli Studi di Trento) · · cited 130× · DOI ↗ · more like this ·

We introduce a variability-intensive approach to goal decomposition that is tailored to support requirements identification for highly customizable software. The approach is based on the semantic characterization of OR-decompositions of goals. We first show that each high-level goal can be associated with a set of concerns, in response to which, alternative refinements of the goal can be introduced. A text corpus relevant to the domain of discourse can be used to derive such variability concerns that are specific to the problem. In parallel, contextual facts that can vary while a goal is being fulfilled are modeled. Then, a high-variability goal model is constructed aiming at responding to the predefined variability concerns completely, while contextual factors are used to test whether it addresses all realistic background circumstances. We apply our approach in a study from the…

InferCode: Self-Supervised Learning of Code Representations by Predicting Subtrees

Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang

cs.SE · · cited 125× · arXiv ↗ · more like this ·

Building deep learning models on source code has found many successful software engineering applications, such as code search, code comment generation, bug detection, code migration, and so on. Current learning techniques, however, have a major drawback that these models are mostly trained on datasets labeled for particular downstream tasks, and code representations may not be suitable for other tasks. While some techniques produce representations from unlabeled code, they are far from satisfactory when applied to downstream tasks. Although certain techniques generate representations from unlabeled code when applied to downstream tasks they are far from satisfactory. This paper proposes InferCode to overcome the limitation by adapting the self-supervised learning mechanism to build source code model. The key novelty lies in training code representations by predicting automatically…

Exploring the Influence of Identifier Names on Code Quality: An Empirical Study

Simon Butler, M. Wermelinger, Yijun Yu +1 more

Information Systems · Open Research Online (The Open University) · · cited 121× · DOI ↗ · more like this ·

Given the importance of identifier names and the value of naming conventions to program comprehension, we speculated in previous work whether a connection exists between the quality of identifier names and software quality. We found that flawed identifiers in Java classes were associated with source code found to be of low quality by static analysis. This paper extends that work in three directions. First, we show that the association also holds at the finer granularity level of Java methods. This in turn makes it possible to, secondly, apply existing method-level quality and readability metrics, and see that flawed identifiers still impact on this richer notion of code quality and comprehension. Third, we check whether the association can be used in a practical way. We adopt techniques used to evaluate medical diagnostic tests in order to identify which particular identifier naming…

Edge Detection in Ultrasound Imagery Using the Instantaneous Coefficient of Variation

Yijun Yu, S.T. Acton

Computer Vision and Pattern Recognition · IEEE Transactions on Image Processing · · cited 121× · DOI ↗ · more like this ·

The instantaneous coefficient of variation (ICOV) edge detector, based on normalized gradient and Laplacian operators, has been proposed for edge detection in ultrasound images. In this paper, the edge detection and localization performance of the ICOV-squared (ICOVS) detector are examined. First, a simplified version of the ICOVS detector, the normalized gradient magnitude squared, is scrutinized in order to reveal the statistical performance of edge detection and localization in speckled ultrasound imagery. Both the probability of detection and the probability of false alarm are evaluated for the detector. Edge localization is characterized by the position of the peak and the 3-dB width of the detector response. Then, the speckle-edge response of the ICOVS as applied to a realistic edge model is studied. Through theoretical analysis, we reveal the compensatory effects of the…

Requirements-driven design of autonomic application software

Alexei Lapouchnian, Yijun Yu, Sotirios Liaskos +1 more

Artificial Intelligence · Open Research Online (The Open University) · · cited 105× · DOI ↗ · more like this ·

Autonomic computing systems reduce software maintenance costs and management complexity by taking on the responsibility for their configuration, optimization, healing, and protection. These tasks are accomplished by switching at runtime to a different system behaviour - the one that is more efficient, more secure, more stable, etc. - while still fulfilling the main purpose of the system. Thus, identifying the objectives of the system, analyzing alternative ways of how these objectives can be met, and designing a system that supports all or some of these alternative behaviours is a promising way to develop autonomic systems. This paper proposes the use of requirements goal models as a foundation for such software development process and demonstrates this on an example.

Specifying Monitoring and Switching Problems in Context

Mohammed Salifu, Yijun Yu, Bashar Nuseibeh

Artificial Intelligence · Open Research Online (The Open University) · · cited 95× · DOI ↗ · more like this ·

Context-aware applications monitor changes in their operating environment and switch their behaviour to keep satisfying their requirements. Therefore, they must be equipped with the capability to detect variations in their operating context and to switch behaviour in response to such variations. However, specifying monitoring and switching in such applications can be difficult due to their dependence on varying contextual properties which need to be made explicit. In this paper, we present a problem- oriented approach to represent and reason about contextual variability and assess its impact on requirements; to elicit and specif' concerns facing monitors and switchers, such as initialisation and interference; and to specify monitoring and switching behaviours that can detect changes and adapt in response. We illustrate our approach by applying it to a published case study.

Relating Identifier Naming Flaws and Code Quality: An Empirical Study

Simon Butler, Michel Wermelinger, Yijun Yu +1 more

Information Systems · Open Research Online (The Open University) · · cited 89× · DOI ↗ · more like this ·

Studies have demonstrated the importance of good identifier names to program comprehension. It is unclear, however, whether poor naming has other effects that might impact maintenance effort, e.g. on code quality. We evaluated the quality of identifier names in 8 established open source Java applications libraries, using a set of 12 identifier naming guidelines. We found statistically significant associations between flawed identifiers (i.e. violating at least one guideline) and code quality issues reported by FindBugs, a static analysis tool.

Text Filtering and Ranking for Security Bug Report Prediction

Fayola Peters, Thein Than Tun, Yijun Yu +1 more

Information Systems · IEEE Transactions on Software Engineering · · cited 88× · DOI ↗ · more like this ·

Security bug reports can describe security critical vulnerabilities in software products. Bug tracking systems may contain thousands of bug reports, where relatively few of them are security related. Therefore finding unlabelled security bugs among them can be challenging. To help security engineers identify these reports quickly and accurately, text-based prediction models have been proposed. These can often mislabel security bug reports due to a number of reasons such as class imbalance, where the ratio of non-security to security bug reports is very high. More critically, we have observed that the presence of security related keywords in both security and non-security bug reports can lead to the mislabelling of security bug reports. This paper proposes FARSEC, a framework for filtering and ranking bug reports for reducing the presence of security related keywords. Before building…

Towards requirements-driven autonomic systems design

Alexei Lapouchnian, Sotirios Liaskos, John Mylopoulos +1 more

Artificial Intelligence · ACM SIGSOFT Software Engineering Notes · · cited 84× · DOI ↗ · more like this ·

Autonomic computing systems reduce software maintenance costs and management complexity by taking on the responsibility for their configuration, optimization, healing, and protection. These tasks are accomplished by switching at runtime to a different system behaviour - the one that is more efficient, more secure, more stable, etc. - while still fulfilling the main purpose of the system. Thus, identifying and analyzing alternative ways of how the main objectives of the system can be achieved and designing a system that supports all of these alternative behaviours is a promising way to develop autonomic systems. This paper proposes the use of requirements goal models as a foundation for such software development process and sketches a possible architecture for autonomic systems that can be built using the this approach.

Reverse engineering goal models from legacy code

Yijun Yu, Yiqiao Wang, John Mylopoulos +3 more

Artificial Intelligence · Institutional Research Information System (Università degli Studi di Trento) · · cited 74× · DOI ↗ · more like this ·

A reverse engineering process aims at reconstructing high-level abstractions from source code. This paper presents a novel reverse engineering methodology for recovering stakeholder goal models from both structured and unstructured legacy code. The methodology consists of the following major steps: 1) Refactoring source code by extracting methods based on comments; 2) Converting the refactored code into an abstract structured program through statechart refactoring and hammock graph construction; 3) Extracting a goal model from the structured program's abstract syntax tree; 4) Identifying nonfunctional requirements and derive soft goals based on the traceability between the code and the goal model. To illustrate this requirements recovery process, we refactor stakeholder goal models from two legacy software code bases: an unstructured Web-based email in PHP (SquirrelMail) and a…

Configuring features with stakeholder goals

Yijun Yu, Julio César Sampaio do Prado Leite, Alexei Lapouchnian +1 more

Artificial Intelligence · Institutional Research Information System (Università degli Studi di Trento) · · cited 68× · DOI ↗ · more like this ·

Goal models are effective in capturing stakeholder needs at the time when features of the system-to-be have not yet been conceptualized. Relating goals to solution-oriented features gives rise to a requirement traceability problem. In this paper, we present a new model-driven extension to an Early Requirements Engineering tool (OpenOME) that generates an initial feature model of the system-to-be from stakeholder goals. Enabled by such generative mapping, configuration constraints among variability features can be obtained by reasoning about stakeholder goals.

Ownership guided C to Rust translation

Hanliang Zhang, Cristina David, Yijun Yu +1 more

cs.PL · · cited 67× · arXiv ↗ · more like this ·

Dubbed a safer C, Rust is a modern programming language that combines memory safety and low-level control. This interesting combination has made Rust very popular among developers and there is a growing trend of migrating legacy codebases (very often in C) to Rust. In this paper, we present a C to Rust translation approach centred around static ownership analysis. We design a suite of analyses that infer ownership models of C pointers and automatically translate the pointers into safe Rust equivalents. The resulting tool, Crown, scales to real-world codebases (half a million lines of code in less than 10 seconds) and achieves a high conversion rate.

An automated approach to monitoring and diagnosing requirements

Yiqiao Wang, Sheila A. McIlraith, Yijun Yu +1 more

Artificial Intelligence · Institutional Research Information System (Università degli Studi di Trento) · · cited 66× · DOI ↗ · more like this ·

Monitoring the satisfaction of software requirements and diagnosing what went wrong in case of failure is a hard problem that has received little attention in the Software and Requirement Engineering literature. To address this problem, we propose a framework adapted from artificial intelligence theories of action and diagnosis. Specifically, the framework monitors the satisfaction of software requirements and generates log data at a level of granularity that can be tuned adaptively at runtime depending on monitored feedback. When errors are found, the framework diagnoses the denial of the requirements and identifies problematic components. To support diagnostic reasoning, we transform the diagnostic problem into apropositional satisfiability (SAT) problem that can be solved by existing SAT solvers. We preprocess log data into a compact propositional encoding that better scales with…

Engineering Adaptive Model-Driven User Interfaces

Pierre A. Akiki, Arosha K. Bandara, Yijun Yu

Human-Computer Interaction · IEEE Transactions on Software Engineering · · cited 55× · DOI ↗ · more like this ·

Software applications that are very large-scale, can encompass hundreds of complex user interfaces (UIs). Such applications are commonly sold as feature-bloated off-the-shelf products to be used by people with variable needs in the required features and layout preferences. Although many UI adaptation approaches were proposed, several gaps and limitations including: extensibility and integration in legacy systems, still need to be addressed in the state-of-the-art adaptive UI development systems. This paper presents Role-Based UI Simplification (RBUIS) as a mechanism for increasing usability through adaptive behavior by providing end-users with a minimal feature-set and an optimal layout, based on the context-of-use. RBUIS uses an interpreted runtime model-driven approach based on the Cedar Architecture, and is supported by the integrated development environment (IDE), Cedar Studio.…

Configuring common personal software: a requirements-driven approach

Sotirios Liaskos, Alexei Lapouchnian, Yiqiao Wang +2 more

Artificial Intelligence · Open Research Online (The Open University) · · cited 54× · DOI ↗ · more like this ·

We investigate the personalization capabilities of common personal software systems. We use a typical e-mail client as an example of such a system, and examine the configuration screens it offers to its users. We discover that each configuration value reflects each of the ways with which the user goals can be satisfied. Thus, we construct a goal model in which alternative ways for satisfying high level goals are matched with alternative system configurations. This way, automatic configuration of the system by reasoning about the overlaying goal model can be achieved. We find that the vast majority of the configuration options that refer to system functionality can be configured using this method, facilitating thereby the personalization tasks for users with no technical background, and ensuring, at the same time, consistency and meaningfulness in the configuration result.

Self-adaptation through incremental generative model transformations at runtime

Bihuan Chen, Xin Peng, Yijun Yu +2 more

Artificial Intelligence · Open Research Online (The Open University) · · cited 51× · DOI ↗ · more like this ·

A self-adaptive system uses runtime models to adapt its architecture to the changing requirements and contexts. However, there is no one-to-one mapping between the requirements in the problem space and the architectural elements in the solution space. Instead, one refined requirement may crosscut multiple architectural elements, and its realization involves complex behavioral or structural interactions manifested as architectural design decisions. In this paper we propose to combine two kinds of self-adaptations: requirements-driven self-adaptation, which captures requirements as goal models to reason about the best plan within the problem space, and architecture-based self-adaptation, which captures architectural design decisions as decision trees to search for the best design for the desired requirements within the contextualized solution space. Following these adaptations…

Mining java class naming conventions

Simon Butler, Michel Wermelinger, Yijun Yu +1 more

Information Systems · Open Research Online (The Open University) · · cited 46× · DOI ↗ · more like this ·

Class names represent the concepts implemented in object-oriented source code and are key elements in program comprehension and, thus, software maintenance. Programming conventions often state that class names should be noun-phrases, but there is little further guidance for developers on the composition of class names. Other researchers have observed that the majority of Java class identifier names are composed of one or more nouns preceded, optionally, by one or more adjectives. However, no detailed analysis of class identifier name structure has been undertaken that could be leveraged to support program comprehension activities. We investigate the lexical and syntactic composition of Java class identifier names in two ways. Firstly, as others have done for C function and Java method names, we identify conventional patterns found in the use of parts of speech. Secondly, we identify the…

Risk and argument: A risk-based argumentation method for practical security

Virginia N. L. Franqueira, Thein Than Tun, Yijun Yu +2 more

Information Systems · University of Twente Research Information · · cited 46× · DOI ↗ · more like this ·

When showing that a software system meets certain security requirements, it is often necessary to work with formal and informal descriptions of the system behavior, vulnerabilities, and threats from potential attackers. In earlier work, Haley et al. [1] showed structured argumentation could deal with such mixed descriptions. However, incomplete and uncertain information, and limited resources force practitioners to settle for good-enough security. To deal with these conditions of practice, we extend the method of Haley et al. with risk assessment. The proposed method, RISA (RIsk assessment in Security Argumentation), uses public catalogs of security expertise to support the risk assessment, and to guide the security argumentation in identifying rebuttals and mitigations for security requirements satisfaction. We illustrate RISA with a realistic example of PIN Entry Device.

TreeCaps: Tree-Based Capsule Networks for Source Code Processing

Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang

cs.SE · · cited 45× · arXiv ↗ · more like this ·

Recently program learning techniques have been proposed to process source code based on syntactical structures (e.g., Abstract Syntax Trees) and/or semantic information (e.g., Dependency Graphs). Although graphs may be better at capturing various viewpoints of code semantics than trees, constructing graph inputs from code needs static code semantic analysis that may not be accurate and introduces noise during learning. Although syntax trees are precisely defined according to the language grammar and easier to construct and process than graphs, previous tree-based learning techniques have not been able to learn semantic information from trees to achieve better accuracy than graph-based techniques. We propose a new learning technique, named TreeCaps, by fusing together capsule networks with tree-based convolutional neural networks, to achieve learning accuracy higher than existing…

Bilateral Dependency Neural Networks for Cross-Language Algorithm Classification

Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang

Information Systems · Open Research Online (The Open University) · · cited 42× · DOI ↗ · more like this ·

Algorithm classification is to automatically identify the classes of a program based on the algorithm(s) and/or data structure(s) implemented in the program. It can be useful for various tasks, such as code reuse, code theft detection, and malware detection. Code similarity metrics, on the basis of features extracted from syntax and semantics, have been used to classify programs. Such features, however, often need manual selection effort and are specific to individual programming languages, limiting the classifiers to programs in the same language.To recognize the similarities and differences among algorithms implemented in different languages, this paper describes a framework of Bilateral Neural Networks (Bi-NN) that builds a neural network on top of two underlying sub-networks, each of which encodes syntax and semantics of code in one language. A whole Bi-NN can be trained with…

Cross-Language Learning for Program Classification using Bilateral Tree-Based Convolutional Neural Networks

Nghi D. Q. Bui, Lingxiao Jiang, Yijun Yu

cs.LG · · cited 41× · arXiv ↗ · more like this ·

Towards the vision of translating code that implements an algorithm from one programming language into another, this paper proposes an approach for automated program classification using bilateral tree-based convolutional neural networks (BiTBCNNs). It is layered on top of two tree-based convolutional neural networks (TBCNNs), each of which recognizes the algorithm of code written in an individual programming language. The combination layer of the networks recognizes the similarities and differences among code in different programming languages. The BiTBCNNs are trained using the source code in different languages but known to implement the same algorithms and/or functionalities. For a preliminary evaluation, we use 3591 Java and 3534 C++ code snippets from 6 algorithms we crawled systematically from GitHub. We obtained over 90% accuracy in the cross-language binary classification task…

Maintaining invariant traceability through bidirectional transformations

Yijun Yu, Yu‐Feng Lin, Zhenjiang Hu +3 more

Information Systems · Open Research Online (The Open University) · · cited 40× · OpenAlex ↗ · more like this ·

Following the "convention over configuration" paradigm, model-driven development (MDD) generates code to implement the "default" behaviour that has been specified by a template separate from the input model, reducing the decision effort of developers. For <i>flexibility</i>, users of MDD are allowed to customise the model and the generated code in parallel. A synchronisation of changed model or code is maintained by reflecting them on the other end of the code generation, as long as the traceability is unchanged. However, such invariant traceability between corresponding model and code elements can be violated either when (a) users of MDD protect custom changes from the generated code, or when (b) developers of MDD change the template for generating the default behaviour. A mismatch between user and template code is inevitable as they evolve for their own purposes. In this paper, we…

Adaptive Sharing for Online Social Networks: A Trade-off Between Privacy Risk and Social Benefit

Mu Yang, Yijun Yu, Arosha K. Bandara +1 more

Sociology and Political Science · Greenwich Academic Literature Archive (University of Greenwich) · · cited 38× · DOI ↗ · more like this ·

Online social networks such as Facebook allow users to control which friend sees what information, but it can be a laborious process for users to specify every receiver for each piece of information they share. Therefore, users usually group their friends into social circles, and select the most appropriate social circle to share particular information with. However, social circles are not formed for setting privacy policies, and even the most appropriate social circle still cannot adapt to the changes of users' privacy requirements influenced by the changes in context. This problem drives the need for better privacy control which can adaptively filter the members in a selected social circle to satisfy users' requirements while maintaining users' social needs. To enable such adaptive sharing, this paper proposes a utility-based trade-off framework that models users' concerns (i.e.…