Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

J. Jenny Li 0001

dblp:60/4546 · also Juan Jenny Li · DBLP profile ↗
← Back
57ranked-venue papers
21as first author
9since 2021 · last 2026
0000-0001-6297-9160ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 29 · 13 first-authorComputer networks · 12 · 4 first-authorApplied, interdisciplinary, general and emerging computing · 9 · 4 first-authorArtificial intelligence and machine learning · 4 · 1 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 4 · 1 first-author · 3 since 2021Databases, data management, data science and information retrieval · 2 · 2 since 2021Human-computer interaction and ubiquitous computing · 2 · 2 since 2021Systems, architecture and hardware · 1 · 1 first-authorSecurity and privacy · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Artificial intelligence
1 paper
Video understanding and tracking · 50% Image recognition and object detection · 50%
Computer graphics and multimedia
1 paper
Multimedia systems and quality of experience · 100%
Software engineering, system software, and programming languages
2 papers
Software testing · 83% Empirical software engineering · 17%

Topics — the 3 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Computer vision › Image recognition and object detection › object detection › efficient object detection
real-time object detection
0.912025
Real-Time Object Detection and Skeletonization for Motion Prediction in Video Streaming · AAAI 2025
Software testing
automated testing
0.222011
Sixth international workshop on automation of software test: (AST 2011) · ICSE 2011
The first international workshop on automation of software test · ICSE 2006
Empirical software engineering › software engineering research methodology
industrial case study
0.012011
Sixth international workshop on automation of software test: (AST 2011) · ICSE 2011

Methods — techniques the papers use, named apart from their topics

medial axis skeletonization · 1.7YOLOv8 · 1.7OpenCV · 1.7DALL-E 3 · 1.7
YearPublicationVenuePosition
2026 Data Compression for AI Model Training
abstract
Training AI models requires ingesting massive amounts of training data. We define Parametric Matching (PM), a grammar-based compression technique that parses structured text into abstract syntax trees, replaces format patterns with compact tokens, and moves numerical parameters into homogeneous streams of tokens that can additionally be bit compressed using LZMA. The results are input streams that are equivalent to the original interleaved text and data in formats such as SVG, 3D-models such as OBJ, PDF, but highly compressed and much more amenable to processing. PM has many advantages. Loading data is much faster (a factor of 20 for 3D models, and 100 to 200 times faster to load). Just as important, by preprocessing the semantics, ambiguous cases can be resolved once, and can be turned into embedding vectors more efficiently, and potentially more accurately. Our experiments with SVG, G-Code, OBJ and PDF files show large compression. The results in Table 1 show that the PM algorithm can create data objects that are not only more compressible but far faster to load because the binary format can be instantly used, in this case to load OpenGL and render without parsing ASCII data. When compressing a binary object that is half the size of the original ASCII representation, by definition LZMA takes half the time to compress because there are fewer bytes to process.
Dov Kruger, Yulia Kumar, J. Jenny Li 0001
DCC3
2025 Real-Time Object Detection and Skeletonization for Motion Prediction in Video Streaming
abstract
The increasing demand for real-time analysis in video streaming has driven significant advancements in object detection and motion prediction. This paper presents SkelAI, an innovative application that combines YOLOv8, OpenCV, OpenAI API, and our own innovative algorithms to achieve real-time object detection and medial axis skeletonization tailored explicitly for live video streaming environments. In addition, SkelAI integrates AI-generated image capabilities through the DALL-E 3 model, enabling the extraction of skeletons from synthetic content that simulates streaming scenarios. The application supports exporting skeleton data in PyTorch-compatible formats, facilitating the training of sequence predicting deep learning models. Comprehensive evaluations demonstrate SkelAI’s enhanced accuracy, efficiency, and versatility compared to existing tools, underscoring its potential applications in digital animation, biomechanical research and robotics, human-computer interaction, and video compression within streaming platforms.
Gavin Wong, Yulia Kumar, J. Jenny Li 0001, Dov Kruger
AAAI3
2025 Parametric Matching for Improved Data Compression
abstract
Modern general-purpose compressors can compress a wide variety of files but do not achieve high compression ratios on files that contain short sequences of delimiters with interleaved numeric data and generally with interleaved data where each sequence is not well correlated to the previous bytes. We demonstrate Parametric Matching (PM), which vastly improves the compression of various structured languages, including PDF, SVG, and G-code files. By de-interleaving and coalescing delimiters and storing data as delta-encoded, discretized binary, compressions of a factor of 10 or more are possible. A Python prototype compresses files to a binary representation, which is then compressed using Lempel-Ziv-Markov (LZMA) to efficiently store the binary tokens in a minimal number of bits. Table 1 shows a ratio of 6 for PDF files containing only text, which are first parsed, and recompressed using PM. For SVG, we demonstrate a factor of 8 to 10 for files including a randomized spiral and a US county map. For the G-code, we compressed the Statue of Liberty, demonstrating that even when the layers are different, a high degree of compression can be achieved. Times are all less than 250ms, even in our Python prototype.
Dov Kruger, Yulia Kumar, J. Jenny Li 0001
DCC3
2024 Adversarial Testing of LLMs Across Multiple Languages
abstract
This study builds on prior research in the field of jailbreaking, focusing on the vulnerabilities of state-of-the-art Large Language Models (LLMs) and their associated chatbots. The primary objective is to evaluate these vulnerabilities through a multilingual lens, extending the scope of previous monolingual studies. The main chatbots under examination include ChatGPT (both legacy ChatGPT -3.5 and the latest ChatGPT -40 model), Gemini, Microsoft Copilot, and Perplexity. Researchers conducted multilingual adversarial attacks, facilitating cross-language and cross-model comparisons, and explored different modalities, such as text versus speech inputs. The findings reveal significant weaknesses in these major models, particularly in their susceptibility to adversarial attacks conducted in languages such as Spanish, Russian, and Traditional Chinese. Given the global proliferation and accessibility of these models, it is imperative to rigorously assess the robustness of LLMs against adversarial inputs across multiple languages and modalities.
Yulia Kumar, C. Paredes, J. Jenny Li 0001, Patricia Morreale
ISNCC4
2024 An AI-Powered Digital Foundation Recommender System
abstract
This paper addresses the significant challenge of selecting suitable foundation shades, particularly for darker skin tones, which have been inadequately represented and catered to in the beauty industry. It introduces an innovative system designed to offer individualized makeup recommendations, significantly diminishing the time and effort traditionally demanded of consumers when searching for appropriate products. Utilizing machine learning methodologies and computer vision techniques, the system analyzes image data to precisely identify a range of skin tones, enabling it to propose compatible foundation shades automatically. Unlike sophisticated Large Language Models, such as ChatGPT, Gemini, Microsoft Copilot, or Claude, which are not equipped to undertake such visually driven tasks due to ethical guidelines that prohibit them from processing personal images without explicit consent and the absence of face image processing capabilities, this technological development represents a step forward in fostering inclusivity, illustrating the transformative potential of AI in accommodating the unique beauty preferences of all individuals.
Dahana Moz-Ruiz, A. Watson, Yulia Kumar, J. Jenny Li 0001, Patricia Morreale
ISNCC4
2023 AssureAIDoctor- A Bias-Free AI Bot
abstract
The researchers introduce the AssureAIDoctor (AAID) App - a pioneering application that aims to revolutionize healthcare by integrating the latest artificial intelligence (AI) features into a mobile-native product. The app leverages the OpenAI API to simulate virtual doctor-patient interactions, offering users potential remedies for their symptoms. The distinguishing feature of AAID is its use of DALL-E, an advanced image generator, and the forthcoming OpenAI's Code interpreter. This allows users to enhance their interactions with the AI by uploading images, thereby personalizing their healthcare experience. The app's user interface is designed to support this advanced functionality. Preliminary tests show promising results, with AAID accurately responding to various symptom inputs. While scalability is a key focus, the app addresses potential challenges such as increased operational costs associated with Microsoft Azure AI cloud and OpenAI API services. Despite these challenges, AAID is committed to making healthcare accessible for underrepresented and uninsured individuals. The app embodies the potential of AI in healthcare, promising to make healthcare more equitable and accessible.
Yulia Kumar, Justin Delgado, E. Kupershtein, Brendan Hannon, Zachary Gordon, J. Jenny Li 0001, Patricia Morreale
ISNCC6
2022 An Assure AI Bot (AAAI bot)
abstract
Artificial Intelligence (AI) bots receive much attention and usage in industry manufacturing and even store cashier applications. Our research is to train AI bots to be software engineering assistants, specifically to detect biases and errors inside AI software applications. An example application is an AI machine learning system that sorts and classifies people according to various attributes, such as the algorithms involved in criminal sentencing, hiring, and admission practices. Biases, unfair decisions, and flaws in terms of the diversity, equity, and inclusion (DEI), in such systems could have severe consequences. As a Hispanic-Serving Institution, we are concerned about underrepresented groups and devoted an extended amount of our time to implementing “An Assure AI” (AAAI) Bot to detect biases and errors in AI applications. Our state-of-the-art AI Bot was developed based on our previous accumulated research in AI and Deep Learning (DL). The key differentiator is that we are taking a unique approach: instead of cleaning the input data, filtering it out and minimizing its biases, we trained our deep Neural Networks (NN) to detect and mitigate biases of existing AI models. The backend of our bot uses the Detection Transformer (DETR) framework, developed by Facebook, to monitor and detect the deep learning model’s internal biases.
Neil Tellez, J. Serra, U. Ebreso, K. Opara, Yulia Kumar, J. Jenny Li 0001, Patricia Morreale
ISNCC6
2022 Evaluation of the Use of Growth Mindset in the CS Classroom
abstract
Within computer science education, a growth mindset is encouraged. However, faculty development on the use of growth mindset in the classroom is rare and resources to support the use of a growth mindset are limited. A framework for a computer science growth mindset classroom, which includes faculty development, lesson plans, and vocabulary for use with students, has been developed. The objective is to determine if faculty development in growth mindset and active use of the growth mindset cues in the CS0 and CS1 classroom result in superior academic outcomes. Comparative study results are presented for two semesters of virtual classroom environments: one semester without Growth Mindset, and one semester with Growth Mindset. Female students demonstrated the most growth, as measured by academic grades, in CS0, and maintained that growth in CS1. Males demonstrated growth as well, with both males and females converging at the same high point of accomplishment at the end of CS1. Race and ethnicity gaps between students were reduced, improving academic equity.
Daehan Kwak, Patricia Morreale, Sarah Hug, Yulia Kumar, Jean Chu, Ching-Yu Huang, J. Jenny Li 0001, Paolien Wang
SIGCSE (1)7
2021 Framework for a Growth Mindset Classroom
abstract
A growth mindset encourages the development of intelligence, in contrast to a fixed mindset, which considers intelligence to be fixed and unable to be changed. Within computer science education, there is an awareness of a growth mindset, but resources to support the use of a growth mindset in the computer science classroom are limited, and faculty development in the use of growth mindset in the classroom is rare. Researchers have developed a framework for a computer science growth mindset classroom, which includes faculty development, lesson plans, and vocabulary for use with students. In addition, the faculty have formed a community of practice which identifies areas where growth mindset techniques can be used and has implemented these strategies in their classrooms. The framework and materials developed are presented here, with early results from this ongoing work. The objective is to determine if faculty development on growth mindset and active use of the framework for a growth mindset classroom results in superior academic outcomes in CS0 and CS1. Preliminary results are for faculty in both face-to-face and virtual classroom environments.
Patricia Morreale, J. Jenny Li 0001, Ching-Yu Huang, Daehan Kwak, Jean Chu, Yulia Kumar, Paolien Wang
SIGCSE2
2020 Advances in test automation for software with special focus on artificial intelligence and machine learning
J. Jenny Li 0001, Andreas Ulrich, Xiaoying Bai, Antonia Bertolino
Softw. Qual. J.1
2017 Special issue on program debugging
Sudipto Ghosh 0001, J. Jenny Li 0001
Softw. Qual. J.2
2014 An Evaluation to Compare Software Product Line Decision Model and Feature Model
abstract
A key issue in defining a product line is specifying the allowable set of products that will be produced using product line assets, i.e., the scope of the domain. This paper conducts an evaluation to compare two different approaches for defining domain scope, decision model as defined in the Family-oriented Abstraction, Specification, Translation (FAST) process and the feature model as defined in the Feature-Oriented Domain Analysis (FODA) process. The comparison is based on applying the approaches to two examples, one a textbook example and the other to a product line we maintain on an open source website, in order to identify guidelines for improving the identification and representation of a software family. Our conclusion is that decision model includes both commonality and variability definition at software architecture level and thus it is more suitable for larger product line with a significant number of commonality and variability.
Liana Barachisio Lisboa, J. Jenny Li 0001, Patricia Morreale, D. Heer, David M. Weiss 0001
ENASE2
2013 Special section on automation of software test
Antonia Bertolino, Howard Foster, J. Jenny Li 0001, Hong Zhu 0002
J. Syst. Softw.3
2012 Capacity Evaluation of Multi-modal Network Notification Service
abstract
A notification service alerts a large number of recipients to attend to important or emergency events. Prompt notification using multiple modes is critical to handle a disaster. This paper proposes an "escalation hierarchy" method as an enhancement to the combinatorial testing approach to provide capacity evaluation of a notification service involving interaction of multiple factors. Our trial of the method on an industrial large-scale notification service showed the effectiveness of our method in reducing testing efforts through automating both consistency checking of measurement data and identification of causes for capacity overflow.
J. Jenny Li 0001, Colin L. Mallows, Jim Landwehr
COMPSAC1
2012 An Empirical Study of Pre-release Software Faults in an Industrial Product Line
abstract
There is a lack of published studies providing empirical support for the assumption at the heart of product line development, namely, that through structured reuse later products will be less fault-prone. This paper presents results from an empirical study of pre-release fault and change proneness from four products in an industrial software product line. The objectives of the study are (1) to determine the association between various software metrics, as well as their correlation with the number of faults at the component level, (2) to characterize the fault and change proneness at various degrees of reuse, and (3) to determine how existing products in the software product line affect the quality of subsequently developed products and our ability to make predictions. The research results confirm, in a software product line setting, the findings of others that faults are more highly correlated to change metrics than to static code metrics. Further, the results show that variation components unique to individual products have the highest fault density and are the most prone to change. The longitudinal aspect of our research indicates that new products in this software product line benefit from the development and testing of previous products. For this case study, the number of faults in variation components of new products is predicted accurately using a linear model built on data from the previous products.
Thomas R. Devine, Katerina Goseva-Popstojanova, Sandeep Krishnan, Robyn R. Lutz, J. Jenny Li 0001
ICST5
2011 SoftWare IMmunization (SWIM) - A Combination of Static Analysis and Automatic Testing
abstract
Static program analysis uses many checkers to discover a very large number of programming issues, but with a high false alarm rate. With the aid of dynamic automatic testing, the actual severe defects can be confirmed by failures of test cases. After defects are fixed, similar types of defects tend to reoccur again. In this paper, we propose a SoftWare IMmunization (SWIM) method to combine static analysis and automatic testing results for detecting severe defects and preventing similar defects from reoccurring, i.e. to have the software immunized from the same type of defects. Three industrial trials of the technology demonstrated the feasibility and defect detection accuracy of the SWIM technology.
J. Jenny Li 0001, John Douglas Palframan, Jim Landwehr
COMPSAC1
2011 Sixth international workshop on automation of software test: (AST 2011)
abstract
The Sixth International Workshop on Automation of Software Test (AST 2011) is associated with the 33rd International Conference on Software Engineering (ICSE 2011). This edition of AST was focused on the special theme of Software Design and the Automation of Software Test and authors were encouraged to submit work in this area. The workshop covers two days with presentations of regular research papers, industrial case studies and experience reports. The workshop also aims to have extensive discussions on collaborative solutions in the form of charette sessions. This paper summarizes the organization of the workshop, the special theme, as well as the sessions.
Howard Foster, Antonia Bertolino, J. Jenny Li 0001
ICSE3
2009 A Survey of Coverage-Based Testing Tools
abstract
Test coverage is sometimes used to measure how thoroughly software is tested and developers and vendors sometimes use it to indicate their confidence in the readiness of their software. This survey studies and compares 17 coverage-based testing tools primarily focusing on, but not restricted to, coverage measurement. We also survey features such as program prioritization for testing, assistance in debugging, automatic generation of test cases and customization of test reports. Such features make tools more useful and practical, especially for large-scale, commercial software applications. Our initial motivations were both to understand the available test coverage tools and to compare them to a tool that we have developed, called eXVantage (a tool suite that includes code coverage testing, debugging, performance profiling and reporting). Our study shows that each tool has some unique features tailored to its application domains. The readers may use this study to help pick the right coverage testing tools for their needs and environment. This paper is also valuable to those who are new to the practice and the art of software coverage testing, as well as those who want to understand the gap between industry and academia.
J. Jenny Li 0001, David M. Weiss 0001
Comput. J.2
2009 Guest Editorial to the Special Issue on Automation of Software Testing
abstract
Hong Zhu, S. C. Cheung, Joseph R. Horgan, J. Jenny Li; Guest Editorial to the Special Issue on Automation of Software Testing, The Computer Journal, Volume 52,
Hong Zhu 0002, Shing-Chi Cheung, Joseph Robert Horgan, J. Jenny Li 0001
Comput. J.4
2008 Decision-Model-Based Code Generation for SPLE
abstract
Software product line engineering (SPLE) takes advantage of the commonalities and predicts variabilities among members of a family to create efficient means of producing those members. Different approaches use different methods for defining the product line and producing members of the product line. We describe and demonstrate through a case study the FAST process for achieving generation of members of the product line. The case study introduces the idea of representing constraints among variabilities as edges in a graph and using different graph walking algorithms to generate members of the product line.
David M. Weiss 0001, J. Jenny Li 0001, J. Hamilton Slye, Trung T. Dinh-Trong
SPLC2
2006 The first international workshop on automation of software test
abstract
No abstract available.
Hong Zhu 0002, Joseph Robert Horgan, Shing-Chi Cheung, J. Jenny Li 0001
ICSE4
2006 Code-coverage guided prioritized test generation
J. Jenny Li 0001, David M. Weiss 0001, Howell Yee
Inf. Softw. Technol.1
2005 An Integrated Solution for Testing and Analyzing Java Applications in an Industrial Setting
abstract
Testing a large-scale, real-life commercial software application is a very challenging task due to the constant changes in the software, the involvement of multiple programmers and testers, and a large amount of code. Integrating testing with development can help find program bugs at an earlier stage and hence reduce the overall cost. In this paper, we report our experience on how to apply eXVantage (a tool suite for code coverage testing, debugging, performance profiling, etc.) to a large, complex Java application at the implementation and unit testing phases in Avaya. Our results suggest that programmers and testers can benefit from using eXVantage to monitor the testing process, gain confidence on the quality of their software, detect bugs which are otherwise difficult to reveal, and identify performance bottlenecks in terms of which part of code is most frequently executed.
W. Eric Wong, J. Jenny Li 0001
APSEC2
2005 Prioritize Code for Testing to Improve Code Coverage of Complex Software
abstract
Code prioritization for testing promises to achieve the maximum testing coverage with the least cost. This paper presents an innovative method to provide hints on which part of code should be tested first to achieve best code coverage. This method claims two major contributions. First it takes into account a "global view" of the execution of a program being tested, by considering the impact of calling relationship among methods/functions of complex software. It then relaxes the "guaranteed" condition of traditional dominator analysis to be "at least" relationship among dominating nodes, which makes dominator calculation much simpler without losing its accuracy. It also then expands this modified dominator analysis to include global impact of code coverage, i.e. the coverage of the entire software other than just the current function. We implemented two versions of code prioritization methods, one based on original dominator analysis and the other on relaxed dominator analysis with global view. Our comparison study shows that the latter is consistently better in terms of identifying code for testing to increase code coverage
J. Jenny Li 0001
ISSRE1
2005 A Constraint Solver for Code-based Test Data Generation
J. Jenny Li 0001, W. Eric Wong, David M. Weiss 0001
SEKE1
2004 Using Overlay Networks to Improve VoIP Reliability
Mark J. Karol, Parameshwaran Krishnan, J. Jenny Li 0001
ATVA3
2004 Computer Supported Cooperative Work in Software Engineering
abstract
Summary form only given. The explosive growth of Internet and wireless infrastructure allows software development collaboratively from multiple locations. Technology and standards have evolved to the point where it is feasible to perform full life cycle software development through multiple site cooperation. In fact, most large software corporations have distributed or even global software development, an example of which is the current trend of outsourcing to India and China. Much research in the area of CSCW concentrated on the area of improving efficiency of groupware. Topics include group awareness, multi-user interfaces, concurrency control, communication and coordination within the group, shared information space and the support of a heterogenous, open environment which integrates existing single-user applications, and etc. The focus is on application of CSCW technology to software engineering regarding collaborative software development, including design, workflow, testbeds, and etc. In particular, we would like to discuss one fundamental question, i.e. whether CSCW software development is more efficient than single-location software development. The topics of our discussion include, but are not limited to the following: 1. What is the impact of CSCW on software reliability, as compared with single-site software development? 2. What is the impact of CSCW on software productivity as compared with single site software development? 3. What are the benefits of CSCW for software engineering? 4. What are the new research topics in CSCW for software engineering? 5. How can CSCW be used in software design, development and testing?.
J. Jenny Li 0001, Tangqiu Li, Zongkai Lin, Aditya P. Mathur, Karama Kanoun
COMPSAC1
2004 Rapid fault detection and recovery for IP telephony
abstract
Short, low-bandwidth keep-alive packets can be injected into VoIP packet streams to rapidly detect faults and deteriorating network conditions (e.g., increasing delay, jitter, or loss). The keep-alive packets can be duplicated and also used to continuously monitor and compare the delay and loss characteristics of primary and alternate network paths, and thereby help control the rapid switchover of calls (in-progress and future) to alternate routing paths (or the circuit-switched PSTN) when faults or deteriorating QoS conditions are detected. By simultaneously transmitting copies of keep-alive packets over multiple paths to make the differential delay measurements and comparisons, the proposed techniques avoid many common synchronization and timing errors. We examine various performance tradeoffs and describe several ways to implement the proposed architectures and techniques.
Mark J. Karol, Parameshwaran Krishnan, J. Jenny Li 0001
ICC3
2004 Case study of a multimedia wireless system
abstract
We present an experimental report of a multimedia wireless system with secure delivery of multimodal services to end-users over voice and data converged networks. Our design leads to an easily adaptable and extensible system architecture, in which system components interact with each other through loosely coupled interfaces based on asynchronous exchange of messages. It effectively separates service logic from service delivery, through the introduction of a secure broker between the end user devices and the enterprise level application that contains the service logic. This separation also provides additional levels of security and reliability at the application level. This work describes our system implementation and its performance results.
J. Jenny Li 0001, W. Eric Wong, Weiping Guo
ICME1
2004 Towards Generating Acceptance Tests for Product Lines
Birgit Geppert, J. Jenny Li 0001, Frank Rößler, David M. Weiss 0001
ICSR2
2004 WSIP - Web Service SIP Endpoint for Converged Multimedia/Multimodal Communication over IP
abstract
We present an approach for converged communication services over IP, based on the concept of WSIP (Web service SIP). In our approach, each WSIP node is both a SIP endpoint that communicates in the SIP world through SIP signaling, and a Web service SOAP node that provides a native and generic service integration environment for binding SIP based communication in Web services. The unification of SIP with Web service provides a new converged communication paradigm. It allows dynamic service discovery and binding that integrate SIP as a component in the business transaction. The clear separation of service integration environment and SIP signaling in our approach maintains the simplicity and efficiency of the existing SIP protocol, while leverages the power of both methods in IP based communication services. The ubiquitous service integration nature of Web service provides a disciplined solution to maintain and update large number of SIP endpoints from different installation bases. It enables dynamic monitoring, repairing, and updating SIP UA endpoints, which is essential to the success of VoIP using SIP. The proposed approach was implemented in a prototype research system, and several advantages of WSIP over the existing approaches are observed.
Feng Liu 0016, Wu Chou, Li Li 0001, J. Jenny Li 0001
ICWS4
2004 SPLiT - Workshop on Software Product Line Testing
Birgit Geppert, Charles W. Krueger, J. Jenny Li 0001
SPLC3
2004 Redesigning Legacy Systems Into The Object-Oriented Paradigm
abstract
Object-oriented languages support many modern programming concepts such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are in general more reusable and reliable than others. Many legacy software systems, created before OO programming became popular, need to be redesigned and updated to OO programs. The process of abstracting OO designs from the procedural source code has often been done with limited assistance from program structural diagrams. Most reengineering focuses on the functionality of the original program, and the OO redesign often results in a completely new design based on the designers' understanding of the original program. Such an approach is not sufficient because it may take a significant amount of time and effort for designers to comprehend the original program. This paper presents a computer-aided semi-automatic method that abstracts OO designs from the original procedural source code. More specifically, it is a method for OO redesign based on program structural diagrams, visualization, and execution slices. We conducted a case study by applying this method to an inventory management software system. Results indicate that our method can effectively and efficiently abstract an appropriate OO design out of the original C code. In addition, some of the code from the original system can be automatically identified and reused in the new OO system.
W. Eric Wong, J. Jenny Li 0001
Int. J. Softw. Eng. Knowl. Eng.2
2003 An Architecture of Wireless Web and Dialogue System Convergence for Multimodal Service Interaction Over Converged Networks
abstract
This paper presents the software architecture for a new paradigm of wireless Web and dialogue system convergence and its corresponding approach to deliver multimodal multimedia enterprise communication services in the wireless environment. It uses an event-triggered service delivery method that separates service interaction and wireless web-based service delivery. A customized content presentation approach is adopted to transform the content of the service into a format suitable for presentation on the target devices. The system also contains a service delivery monitoring and backup mechanism, which is capable of sending the service content using other communication channels according to the user's preference and the channel conditions. A prototype system was implemented based on the proposed approach, which demonstrates the performance advantage of our method in the enterprise service application.
Feng Liu 0016, J. Jenny Li 0001, Xueshan Shan, Wu Chou
COMPSAC2
2003 VoIP protection and performance improvement
abstract
A lot of ongoing work is geared towards improving the reliability, performance and QoS characteristics of service provider IP networks. In contrast, we propose novel enterprise-based techniques that exploit the fact that many enterprises are multi/dual-homed. Certain (e.g., VoIP) packets are duplicated and sent over multiple service providers. After traversing the service provider networks, only the first-to-arrive packets are kept and the later-arriving copies are discarded. In so doing, the result is not only better protection against node and link failures, and packet losses and errors, but also better QoS performance under normal (fault-free) operation. The packet-duplication process can be policy-based and take into account costs, bandwidth, and priority issues, permitting the system to behave like a simple "smart router" that automatically and continually makes use of the best (lowest-delay) service provider.
Mark J. Karol, Parameshwaran Krishnan, J. Jenny Li 0001
ICCCN3
2003 VoIP network failure detection and user notification
abstract
The impact of network failures can be minimized if users are promptly notified by appropriately designed applications. Specifically, for voice-over-IP (VoIP) networks, an RTP/RTCP-based detection method can be used to rapidly distinguish between network congestion and network failures. Users and network managers can exploit this information in various ways, such as rapid network recovery or seeking alternatives at the application layer. In this paper, we present the main ideas behind these proposals, some analytical/simulation results, insights from a Linux-based implementation and experimental results.
Mark J. Karol, Parameshwaran Krishnan, J. Jenny Li 0001
ICCCN3
2003 Performance evaluation of predictive handoff scheme with channel borrowing
abstract
We report a study on a predictive handoff scheme in cellular networks. We present a new channel resource allocation strategy, which combines predictive channel reservation based on real-time positioning of mobile users and dynamic channel borrowing among cells in time of congestion, to provide services to handoff requests with higher priority over new call requests. We also propose a different criterion, threshold time, to improve the accuracy of channel reservation by better determining the right time to send a reservation request, if necessary, for a potential handoff call. Our simulation results indicate that the new scheme outperforms other handoff schemes including guard channel, the original predictive channel reservation, and channel borrowing by significantly reducing the handoff blocking rates with little impact on the throughput of cellular networks. In addition, our data suggest that initiating reservation requests based on an appropriate threshold time introduces fewer false reservations than initiating reservation requests based on a threshold distance.
Mingyu Wu 0005, W. Eric Wong, J. Jenny Li 0001
IPCCC3
2003 An Adaptable Architecture for Secure Delivery of Converged Services
abstract
We present an approach for secure delivery of multimodal services to end users over heterogeneous converged networks. Our approach leads to an easily adaptable and extensible system architecture, in which system components interact with each other through loosely coupled interfaces based on asynchronous exchange of messages. It also effectively separates service logic from service delivery, through the introduction of a secure broker between the end user devices and the enterprise level application that contains the service logic. This separation also provides additional levels of security at the application level. This paper describes how our approach provides the features mentioned above. We have also validated our approach through the implementation of a prototype system, a description of which is also provided.
J. Jenny Li 0001, Wu Chou, Xueshan Shan, Feng Liu 0016, W. Eric Wong
ISADS1
2003 Redesigning Legacy Systems into the Object-Oriented Paradigm
abstract
Object-oriented/sup 1/ languages support many modern programming paradigms such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are more reusable and reliable than those in non-OO. Many legacy software systems were created before OO programming became popular and needed to be redesigned and updated to OO programs. The process of abstracting OO designs from the procedural source code was often done manually or with limited assistance from program structural diagrams. Most reengineering focuses on the functionality of the original program, and the OO redesign often results in a completely new design based on the designers' understanding of the original program. Such an approach is not sufficient, for it not only takes time and effort for designers to become familiar with the original program, but the approach itself is also mistake-prone due to the human involvement. This paper presents a computer-aided semi-automatic method that abstracts OO designs from the original procedural source code. More specifically, it is a method for OO redesign based on program structural diagrams, visualization, and execution slice. We conducted a case study by applying this method to an inventory management software system. Results indicate that our method can effectively and efficiently abstract an appropriate OO design out of the original C code as well as re-generate part of the system in C++ code based on this new OO design.
W. Eric Wong, J. Jenny Li 0001
ISORC2
2003 Coverage testing software architectural design in SDL
W. Eric Wong, Tatiana Sugeta, J. Jenny Li 0001, José Carlos Maldonado
Comput. Networks3
2003 A scalable tool for efficient protocol validation and testing
J. Jenny Li 0001, Joseph Robert Horgan
Comput. Commun.1
2003 Editorial: ICCCN 2001
abstract
formerly part of Lucent Bell Labs), Telcordia Technologies (formerly Bellcore), Nokia
W. Eric Wong, J. Jenny Li 0001
Softw. Pract. Exp.2
2002 A Case Study of Dependable Software Upgrade with Distributed Components
abstract
The technology presented allows validation of software architecture before component upgrades. This paper presents a case study of applying this method to the upgrade of a wireless monitoring system. After the validation showing the feasibility for an online upgrade, an actual upgrade was carried out and proven to be successful. A wireless monitoring system collects network data to deduce voice quality of voice-over-IP (VoIP) and notifies wireless users of network failures. Voice networks traditionally operate with an availability of 99.999%. Software upgrade must be done online to maintain such a high availability. Our experimental results show that the outcome of the actual upgrade is consistent with the validation result of the method given by Li et al. (2000). Our method is effective in providing round-the-clock wireless network activities while upgrading network protocols or application software.
J. Jenny Li 0001, Xueshan Shan
COMPSAC1
2002 An architecture of wireless Web and dialogue system convergence for multimodal service interaction over converged networks
abstract
This paper presents an approach based on wireless Web and dialogue system convergence for multimodal, multimedia communication services over converged networks. It uses a unique event-triggered service delivery method that separates service interaction and wirelessWeb-based service delivery. Our approach results in an architecture of WAP-based, location-independent, wireless service monitoring, notification and service access for mobile users that can be applied over various network bearers in enterprise environment. A new wireless secure server (WSS) provides secure connections to dialogue systems. It allows one-key switching to retrieve the multimedia content. A prototype system was implemented and performance advantages were demonstrated on several enterprise service applications.
Wu Chou, Xueshan Shan, J. Jenny Li 0001
ICCCN3
2001 A case study of IP network monitoring using wireless mobile devices
abstract
The converged network of voice and data introduces reliability-critical applications to conventional IP networks. Examples of such applications include voice-over-IP (VoIP), messaging, call centers, etc. Voice networks traditionally operate with an availability of 99.999%. Network failure alarm generation is a key enabling technology for round-the-clock network quality assurance. In this paper, we address the challenging problem of monitoring and timely reporting network failure alarms through wireless mobile devices. Our wireless mobile monitoring (WMM) method includes clients and five server components:. WAP gateway (WG), push proxy gateway (PPG), push initiator (PI), content server (CS) and fault monitor (FM). We validate this method on a simulated network and devices. Our experimental results show that our method is effective in providing round-the-clock network monitoring and failure warning to wireless mobile users. The deployment of high-speed packet data mobile networks will enable even more timely notification services and will further improve the user experience with the WMM method.
Xueshan Shan, J. Jenny Li 0001
ICCCN2
2001 Constructing network models from workflows
abstract
The rapid growth of the Internet has spurred development of new protocols and algorithms to meet changing operational requirements such as security, multicast transport, mobile networking, policy management, and quality-of-service support. Development and evaluation of these operational tools requires answering many design questions. Building testbeds and labs is expensive, reconfiguring and sharing them are difficult, and they are relatively inflexible. Networking research increasingly depends on simulation to investigate new network design, protocol behavior, performance, and interactions. Simulation relies on network models. This paper provides an automatic method for constructing simulation models from network scenario workflows. Our experiments show that automatic construction of simulation models allows online simulation that can be adjusted dynamically and promptly.
W. Eric Wong, Dennis Mulcare, Plinio Vilela, J. Jenny Li 0001
ICCCN4
2000 A Tool Suite for Diagnosis and Testing of Software Design Specifications
abstract
Available statistical data shows that the cost of finding and repairing software rises dramatically in later development stages. Much research has been done using verification and validation techniques to prove correctness in terms of certain properties. Such approaches and the approach of software testing are complementary. Testing reveals some errors that cannot be easily identified through verification, and vice versa. The new technology of generating implementation code from design specifications if based on highly reliable designs is another approach to reliable software. This paper presents a dynamic slicing technology and an accompanying tool suite for understanding, diagnosis and testing of software design specifications. We apply state-of-the-art technology in coverage testing, diagnosis and understanding of software source code to those of software designs. We use a simulation of the specifications to collect the execution trace for computing the coverage and slicing data. Our technology first generates a flow diagram from a specification and then automatically analyses the coverage features of the diagram. It collects the corresponding flow data during simulation to be mapped to the flow diagram. The coverage information for the original specification is then obtained from the coverage information of the flow diagram. This technology has been used for C, C++, and Java, and has proven effective.
J. Jenny Li 0001, Joseph Robert Horgan
DSN1
2000 A tool for efficient protocol validation and testing
abstract
Reliable protocols require early-stage validation and testing. Due to the state explosion problem, in validation methods such as model checking (Atlee and Gannon, 1993), it may not be possible to test all the system states. We apply our state-of-the-art algorithm to compute the most critical states and branches to be tested. We prioritize this information to guide the validation of the protocol. We implemented this technology in a tool that visualizes the specifications of protocols with their testing priorities. Such a tool can also be used to identify the location of faults in the protocol when some tests failed. It provides information such as where in the protocol is most likely to have bugs. This paper considers the case when the specification of the protocol is given in Specification and Description Language (SDL, an ITU standard). Our technology is based on both the control flow and the data flow of the specifications. It first generates a control flow diagram from the specification and then automatically analyses the coverage features of the diagram. It collects the corresponding flow data during the simulation time for mapping to the control flow diagram. The coverage information for the original specification is then obtained from the coverage information of the flow diagram.
J. Jenny Li 0001, Joseph Robert Horgan
ICCCN1
2000 Using SDL to Model an Object-Oriented Real-Time Software Architectural Design
abstract
Specification and Description Language (SDL) is a formal object-oriented language for modelling real-time interactive systems. It is an International Telecommunication Union (ITU) standard. A software architecture is the structure of a program including a set of inter-communication components. These components are often independently executable super objects. We use the architecture design to answer questions such as how the super objects fit together and how to reuse them. We investigate the feasibility and benefits of using SDL to represent the dynamic aspect of the software architectures. It includes a methodology and an accompanying tool, Workflow-to-SDL-Transformation (W2S), for deriving software architectures in SDL from an originally informal use case flow definition. The focus of the research is in the telecom domain, many of which are real-time interactive systems. We applied our method to a partial telecom system. The experimental results are collected and presented. Our result shows the feasibility and benefits of representing the dynamic software architecture in SDL.
J. Jenny Li 0001, Joseph Robert Horgan
ISORC1
2000 Applying formal description techniques to software architectural design
J. Jenny Li 0001, Joseph Robert Horgan
Comput. Commun.1
1999 chi-SUDS-SDL: A Tool for Diagnosis and Understanding Software Specifications
abstract
Available statistical data shows that the cost of repairing software faults rises dramatically in later development stages. It is important to reduce software faults in the early stages of software development, such as requirement and design specification. In particular, the new technology of generating implementation code from specification requires highly reliable design specifications. Much research has been done on verification and validation, such as model checking. We believe such approaches are similar to software testing. We apply our state-of-the-art technology in software coverage testing, program diagnosis and understanding to stages as early as software requirements and designs. Early analysis provides many benefits, including: 1) early detection and recovery of software faults; 2) visualization and simulation of the software specifications; 3) improvement of the confidence on the specification; 4) making programming on the specification level more possible; and 5) reduction of the number of introduced faults. This paper presents the technology and the accompanying tool suite to the diagnosis and understanding of software specifications. We use the simulation of the specifications to collect the execution trace for computing the coverage and slicing data. Our technology is based on both the control flow and the data flow of the executable specifications.
J. Jenny Li 0001, Joseph Robert Horgan
APSEC1
1999 cSuds-SDL: A Tool for Testing Software Architecture Specifications
J. Jenny Li 0001, Joseph Robert Horgan
Softw. Qual. J.1
1998 To maintain a reliable software specification
abstract
To maintain a reliable software specification, i.e. keeping software specification and design document synchronized with its implementation is always a difficult task because of the time constraints on software developers. Under such pressure, software developers often view finishing implementation as the end of their duty and updating documentation as tedious, time consuming and without payoff. The paper presents a methodology and its accompanying tool set, Workflow-Implementation-Synchronization (WIS), for automatic synchronization of specification and implementation. The idea is to have the implementation and specification running in parallel during regression testing. Inconsistencies are discovered when the two versions generate different results. The inconsistency will lead to the automatic update of the specification documents. To illustrate this approach, the authors use software architecture description as an example of software specification document. They applied the WIS method to specific telecommunication control software. The experimental results show that WIS method is able to detect inconsistencies and synchronize the software architecture document with the software implementation. This line of research promises to reduce human involvement in keeping specification and implementation synchronized and thus improve the efficiency and reliability of software maintenance.
J. Jenny Li 0001, Joseph Robert Horgan
ISSRE1
1997 Constructing automated protocol testing oracles to accommodate specification nondeterminism
abstract
The large number of test inputs and outputs usually involved in testing of protocols makes automated output checking necessary. An automated oracle in the test environment achieves this automation. It is imperative that the oracle should be tolerant of nondeterminism in the specifications. This paper presents an and-state method to accommodate specification nondeterminism in automated protocol resting oracles. The and-state method generates concurrent system states when encountering nondeterminism. The and-state method reduces the computational cost of an oracle by avoiding running n concurrent copies of the system to generate all n possible behaviors caused by nondeterminism. We illustrate the and-state method using example specifications given in the Specification and Description Language (SDL). We applied this method to an automated oracle of a small protocol in a network system consisting of 60 nodes. The experimental results show that this oracle facilitates random testing of the protocol.
J. Jenny Li 0001, Rudolph E. Seviora
ICCCN1
1997 Automatic simulation to predict software architecture reliability
abstract
One of the goals of software architecture research is to analyze the reliability of a software system early in the development lifecycle. This allows the system designers to predict reliability and evaluate alternative designs. This paper presents a methodology and accompanying toolset, Workflow-to-SDL-Direct-Simulation (W2S), for generating a simulator from a semi-formal architecture description. This simulator allows the analysis of the system's reliability based on the simulated behavior and performance. There are three steps in the W2S methodology: translation of the description to a communicating extended finite state machine (CEFSM) model; generation of a simulator from the CEFSM model and a model of the system environment; and execution of the simulator on top of an underlying CEFSM engine. The W2S methodology was applied to a Bellcore telecommunication control system, using a set of tools that we developed. Several sets of experiments were carried out. The result shows that the information generated by the simulator can be used to predict the reliability of a system solely based on its architectural description. This prediction allows designers to select more reliable architectures.
J. Jenny Li 0001, Josephine Micallef, Joseph Robert Horgan
ISSRE1
1996 Automatic failure detection with Conditional-Belief supervisors
abstract
Failures of a software system are detected by a supervisor, a separate unit which observes the inputs and outputs of the system and reports its failures in real-time. The supervisor determines whether a failure has occurred by comparing the observed and the specified behavior. The specification of behavior is assumed to be expressed in a formalism based on communicating extended finite state machines (specifically, ITU-T SDL). The supervisor must tolerate legal behavioral alternatives resulting from nondeterminisms in the specification. The computational costs of considering such alternatives can be fairly high. The paper presents the Conditional-Belief (CB) theory that reduces the cost of consideration of alternatives by using conditional-beliefs to represent sets of legal behavioral alternatives. The paper reviews belief-based supervision, introduces the CB theory, and outlines an algorithm for conversion of a class of SDL specification to a CB supervisor model. It describes a demonstration system developed to evaluate CB supervision, and summarizes failure detection and computational cost results for the supervisor of the control program of a small telephone exchange.
J. Jenny Li 0001, Rudolph E. Seviora
ISSRE1
1995 An approach to automatic detection of software failures
abstract
The focus of this paper is on an approach to the automatic failure detection of reactive software systems called specification-based supervision. Assumed is that the software is specified in a formalism based on communicating extended finite state machines (CEFSMs). The major difficulty in supervising such systems is that the supervisor must account for all possible behaviors that are permissible under the non-determinism present in the specification. An approach to the automatic detection of failures based on the theory of beliefs is presented. This theory was developed to deal with the nondeterminism present in CEFSM based formalisms. The specification language SDL, standardized by the International Telecommunication Union, is used as a concrete example. In the theory of beliefs, each behavioral alternative is represented as a separate belief of one or more specification CEFSMs. Beliefs are combined into consistent belief sets that represent legitimate external behaviors. A consistent belief set representing a behavior that does not match the actually observed behavior is terminated. If all consistent belief sets have been terminated, the observed behavior is not legitimate and is reported as a failure of the target software system. A prototype implementation of a belief-based supervisor was developed. The implementation was used to monitor execution of a small telephone exchange. Both the supervisor and exchange were emulated on a workstation. Statistics characterizing the number of consistent belief sets are presented.
M. Hlady, R. Kovacevic, J. Jenny Li 0001, Barry R. Pekilis, D. Prairie, Tony Savor, Rudolph E. Seviora, D. A. Simser, Alexandre Vorobiev
ISSRE3