Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Wuwei Shen is active.

Publication


Featured researches published by Wuwei Shen.


computer software and applications conference | 2002

A toolset for supporting UML static and dynamic model checking

Wuwei Shen; Kevin J. Compton; James K. Huggins

The Unified Modeling Language has become widely accepted as a standard in software development. Several tools have been produced to support UML model validation. However most of them support either static or dynamic model checking; and no tools support to check both static and dynamic aspects of a UML model. But a UML model should include the static and dynamic aspects of a software system. Furthermore, these UML tools translate a UML model into a validation language such as PROMELA. But they have some shortcomings: there is no proof of correctness (with respect to the UML semantics) for these tools. In order to overcome these shortcomings, we present a toolset which can validate both static and dynamic aspects of a model; and this toolset is based on the semantic model using Abstract State Machines. Since the toolset is derived from the semantic model, the toolset is correct with respect to the semantic model.


acm symposium on applied computing | 2007

An approach to evaluating structural pattern conformance of UML models

Dae-Kyoo Kim; Wuwei Shen

This paper describes an approach to evaluating the structural conformance of a UML class diagram to a design pattern. A design pattern is specified in an extension of the UML that defines the pattern as a family of models. A pattern specification consists of a set of pattern roles where a role specifies the properties of a pattern participant. The approach uses a divide-and-conquer method to evaluate pattern conformance. In the approach a pattern and the model being evaluated are decomposed into blocks. Then, the model blocks are evaluated for conformance to the role blocks in the pattern. When all individual role blocks are satisfied by the model blocks, the pattern as a whole is considered to evaluate the entire conformance of the model. A major benefit of this approach is the support for variations of pattern realizations through the notion of pattern roles. We illustrate the approach using the Visitor pattern and a price calculator, and demonstrate a prototype tool that supports the approach.


Software Quality Journal | 2008

Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies

Dae-Kyoo Kim; Wuwei Shen

A design pattern is realized in various forms depending on the context of the applications. There has been intensive research on detecting pattern instances in models and in implementations. However, little work addresses variations of pattern realization. This paper describes an approach for evaluating conformance of pattern variations. This approach uses a divide-and-conquer strategy to evaluate the structural conformance of a UML class diagram to the solution of a design pattern. A design pattern is specified in an extension of the UML that defines the pattern in terms of roles. To demonstrate the approach, we use the Visitor pattern and two case studies of a price calculator and a word processor. We also present a prototype tool that supports the approach.


international conference on software maintenance | 2014

On the Use of Stack Traces to Improve Text Retrieval-Based Bug Localization

Laura Moreno; John Joseph Treadway; Andrian Marcus; Wuwei Shen

Many bug localization techniques rely on Text Retrieval (TR) models. The most successful approaches have been proven to be the ones combining TR techniques with static analysis, dynamic analysis, and/or software repositories information. Dynamic software analysis and software repositories mining bring a significant overhead, as they require instrumenting and executing the software, and analyzing large amounts of data, respectively. We propose a new static technique, named Lobster (Locating Bugs using Stack Traces and text Retrieval), which is meant to improve TR-based bug localization without the overhead associated with dynamic analysis and repository mining. Specifically, we use the stack traces submitted in a bug report to compute the similarity between their code elements and the source code of a software system. We combine the stack trace based similarity and the textual similarity provided by TR techniques to retrieve code elements relevant to bug reports. We empirically evaluated Lobster using 155 bug reports containing stack traces from 14 open source software systems. We used Lucene, an optimized version of VSM, as baseline of comparison. The results show that, in average, Lobster improves or maintains the effectiveness of Lucene-based bug localization in 82% of the cases.


international conference on formal engineering methods | 2003

Formalization, Testing and Execution of a Use Case Diagram

Wuwei Shen; Shaoying Liu

Errors in a requirements model have prolonged detrimental effects on reliability, cost, and safety of a software system. It is very costly to fix these errors in later phases of software development if they cannot be corrected during requirements analysis and design. A use case diagram, as a requirements model, plays an important role in giving requirements for a software system. It provides a communication tool between software requirements developers and prospective users to understand what requirements of a software system are. However most descriptions of a use case diagram are written in some informal language, leading to possible misunderstanding between developers and users. In this paper, we propose a new rigorous review technique which can be applied to software requirements models. Using this new technique before a software system is fully designed will help us find some potential errors in a requirements model, resulting in reduced time, labor and expenditure in software development.


IEEE Transactions on Software Engineering | 2009

An Efficient and Scalable Approach to Correct Class Model Refinement

Wuwei Shen; Kun Wang; Alexander Egyed

Today, programmers benefit immensely from Integrated Development Environments (IDEs), where errors are highlighted within seconds of their introduction. Yet, designers rarely benefit from such an instant feedback in modeling tools. This paper focuses on the refinement of UML-style class models with instant feedback on correctness. Following the Model-Driven Architecture (MDA) paradigm, we strongly believe in the benefit of maintaining high-level and low-level models separately to 1) document the lower level model and 2) continuously ensure the correctness of the low-level model during later evolution (i.e., high- or low-level models may be evolved independently). However, currently the refinement and subsequent evolution lack automated support, let alone an instant feedback on their correctness (i.e., consistency). Traditional approaches to consistency checking fail here because of the computational cost of comparing class models. Our proposed instant approach first transforms the low-level model into an intermediate model that is then easier comparable with the high-level model. The key to computational scalability is the separation of transformation and comparison so that each can react optimally to changes-changes that could happen concurrently in both the high- and low-level class models. We evaluate our approach on eight third-party design models. The empirical data show that the separation of transformation and comparison results in a 6 to 11-fold performance gain and a ninefold reduction in producing irrelevant feedback. While this work emphasizes the refinement of class models, we do believe that the concepts are more generally applicable to other kinds of modeling languages, where transformation and subsequent comparison are computationally expensive.


automated software engineering | 2001

A UML validation toolset based on abstract state machines

Wuwei Shen; Kevin J. Compton; James K. Huggins

The Unified Modeling Language has become widely accepted as a standard in software development. Several tools have been produced to support UML model validation. These tools translate a UML model into a validation language such as PROMELA. However they have some shortcomings: there is no proof of correctness (with respect to the UML semantics) for these tools; and there is no tool that supports validation for both the static and dynamic aspects of a UML model. In order to overcome these shortcomings, we present a toolset which is based on the semantic model using abstract state machines. Since the toolset is derived from the semantic model, the toolset is correct with respect to the semantic model. In addition, this toolset can be used to validate both the static and dynamic aspects of a model.


Studies in computational intelligence | 2015

Generation of Assurance Cases for Medical Devices

Chung Ling Lin; Wuwei Shen

In safety critical systems, the manufacturers should provide compelling and comprehensible arguments to demonstrate that their system is well designed and safety of the system to the public is guaranteed. These arguments are usually represented by an assurance case. However, one of challenging issues facing the safety critical industry is how to produce an assurance case that provides a set of well-structured arguments connecting safety requirements and a body of evidence produced during software development. In this paper, we take the medical systems industry into account to illustrate how an assurance case can be generated when a software process is employed. In particularly, we consider the Generic Insulin infusion Pump (GIIP) to show how an assurance case can be produced via during a popular software development process, called Rational Unified Process (RUP).


international conference on engineering of complex computer systems | 2005

Using the metamodel mechanism to support class refinement

Wuwei Shen; Weng Liong Low

With modern software development being a complicated process, refinement has become an inevitable step in software development. To date, however, supporting a refinement process during software development has not received much attention in the research community. In this paper we present a tool which can support class diagram refinement based on a set of proposed rules, each of which is represented by a class diagram together with an object constraint language (OCL) constraint. By applying our existing tool supporting the metadata architecture, a new tool helping software developers find some discrepancies between two class diagrams during software refinement can be generated. A Web-based online learning system is illustrated in this paper to show how the tool can be applied to find discrepancies between the two models at two different levels.


IEEE Transactions on Software Engineering | 2016

An Approach to Checking Consistency between UML Class Model and Its Java Implementation

Hector Miguel Chavez; Wuwei Shen; Benjamin A. Mechling; Guangyuan Li

Model Driven Engineering (MDE) aims to expedite the software development process by providing support for transforming models to running systems. Many modeling tools provide forward engineering features, which automatically translate a model into a skeletal program that developers must complete. Inconsistencies between a design model and its implementation, however, can arise, particularly when a final implementation is developed dependently on the code from which it was generated. Manually checking that an implementation conforms to its model is a daunting task. Thus, an MDE tool that developers can use to check that implementations conform to their models can significantly improve a developers productivity. This paper presents a model-based approach for testing whether or not an implementation satisfies the constraints imposed by its design model. Our model-based testing approach aims to efficiently reduce the test input space while supporting branch coverage criteria. To evaluate the approachs ability to uncover inconsistencies, we developed a prototypical tool and applied it to the Eclipse UML2 projects. We were able to uncover inconsistencies between the models and their implementations using the tool.

Collaboration


Dive into the Wuwei Shen's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chung Ling Lin

Western Michigan University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chung-Ling Lin

Western Michigan University

View shared research outputs
Top Co-Authors

Avatar

Dae-Kyoo Kim

University of Rochester

View shared research outputs
Top Co-Authors

Avatar

Jian Liu

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kun Wang

University of Michigan

View shared research outputs
Top Co-Authors

Avatar

Steven Drager

Air Force Research Laboratory

View shared research outputs
Researchain Logo
Decentralizing Knowledge