17 research outputs found
An Empirical Investigation for Understanding
While working on modernization of large monolithic application; speed , synchronization and interaction with other components are the major concern for practical implementation of target system; as Service-Oriented Computing extends and covering many sections of monolithic legacy to web oriented development, these aspects becoming a new challenges to existing software engineering practices, the paper presents work which is undertaken for service orientation of monolithic legacy application including initial steps of service understanding, comprehension and extraction so that it can take a part in further migration activities to service oriented architecture platform. The work also shows that how several useful techniques can be applied to accomplish the result
Recommended from our members
The effect of variability modeling on requirements satisfaction for the configuration and implementation of off-the-shelf software packages
An industrial experience of the use of a method for discovering customer requirements with which to configure an off-the-shelf software package for implementation is reported. The method uses an adapted form of product variability model to provide common ground between the customer and supplier about requirements and capabilities. An associated decision support software tool guides the supplier and customer through a model-based walkthrough to discover new requirements, based on equivalent capabilities described in the product variability model. We applied the method in the work processes of the commercial provider of a software-based learning management system, and collected quantitative and qualitative data from supplier-customer interactions. Our first experiences with the method led to an increased exposure and expression of customer requirements in the customer-supplier dialogue, compared to the baseline dialogue during software package demonstrations. The paper also reports some first lessons learned to improve the method and adopt its use with other software supplier organizations
Repetition between stakeholder (user) and system requirements
Stakeholder requirements (also known as user requirements) are defined at an early stage of a software project to describe the problem(s) to be solved. At a later stage, abstract solutions to those problems are prescribed in system requirements. The quality of these requirements has long been linked to the quality of the software system and its development or procurement process. However, little is known about the quality defect of redundancy between these two sets of requirements. Previous literature is anecdotal rather than exploratory, and so this paper empirically investigates its occurrence and consequences with a case study from a UK defense contractor. We report on a survey of sixteen consultants to understand their perception of the problem, and on an analysis of real-world software requirements documents using natural language processing techniques. We found that three quarters of the consultants had seen repetition in at least half of their projects. Additionally, we found that on average, a third of the requirement pairs’ (comprised of a system and its related stakeholder requirement) description fields were repeated such that one requirement in the pair added only trivial information. That is, solutions were described twice while their respective problems were not described, which ultimately lead to suboptimal decisions later in the development process, as well as reduced motivation to read the requirements set. Furthermore, the requirement fields considered to be secondary to the primary “description” field, such as the “rationale” or “fit criterion” fields, had considerably more repetition within UR–SysR pairs. Finally, given that the UR–SysR repetition phenomena received most of its discussion in the literature over a decade ago, it is interesting that the survey participants did not consider its occurrence to have declined since then. We provide recommendations on preventing the defect, and describe the freely available tool developed to automatically detect its occurrence and alleviate its consequences
Performance of IR Models on Duplicate Bug Report Detection: A Comparative Study
Open source projects incorporate bug triagers to help with the task of bug report
assignment to developers. One of the tasks of a triager is to identify whether an incoming
bug report is a duplicate of a pre-existing report. In order to detect duplicate bug reports,
a triager either relies on his memory and experience or on the search capabilties of the bug
repository. Both these approaches can be time consuming for the triager and may also
lead to the misidentication of duplicates. It has also been suggested that duplicate bug
reports are not necessarily harmful, instead they can complement each other to provide
additional information for developers to investigate the defect at hand. This motivates the
need for automated or semi-automated techniques for duplicate bug detection.
In the literature, two main approaches have been proposed to solve this problem. The
first approach is to prevent duplicate reports from reaching developers by automatically
filtering them while the second approach deals with providing the triager a list of top-N
similar bug reports, allowing the triager to compare the incoming bug report with the ones
provided in the list. Previous works have tried to enhance the quality of the suggested
lists, but the approaches either suffered a poor Recall Rate or they incurred additional
runtime overhead, making the deployment of a retrieval system impractical. To the extent
of our knowledge, there has been little work done to do an exhaustive comparison of
the performance of different Information Retrieval Models (especially using more recent
techniques such as topic modeling) on this problem and understanding the effectiveness of
different heuristics across various application domains.
In this thesis, we compare the performance of word based models (derivatives of the
Vector Space Model) such as TF-IDF, Log-Entropy with that of topic based models such as
Latent Semantic Indexing (LSI), Latent Dirichlet Allocation (LDA) and Random Indexing
(RI). We leverage heuristics that incorporate exception stack frames, surface features,
summary and long description from the free-form text in the bug report. We perform
experiments on subsets of bug reports from Eclipse and Firefox and achieve a recall rate of
60% and 58% respectively. We find that word based models, in particular a Log-Entropy
based weighting scheme, outperform topic based ones such as LSI and LDA.
Using historical bug data from Eclipse and NetBeans, we determine the optimal time
frame for a desired level of duplicate bug report coverage. We realize an Online Duplicate
Detection Framework that uses a sliding window of a constant time frame as a first step
towards simulating incoming bug reports and recommending duplicates to the end user
DREQUS: an approach for the Discovery of REQuirements Using Scenarios
ABSTRACT: Requirements engineering is recognized as a complex cognitive problem-solving process that takes place in an unstructured and poorly-understood problem context. Requirements elicitation is the activity generally regarded as the most crucial step in the requirements engineering process. The term “elicitation” is preferred to “capture”, to avoid the suggestion that requirements are out there to be collected. Information gathered during requirements elicitation often has to be interpreted, analyzed, modeled, and validated before the requirements engineer can feel confident that a complete set of requirements of a system have been obtained. Requirements elicitation comprises the set of activities that enable discovering, understanding, and documenting the goals and motives for building a proposed software system. It also involves identifying the requirements that the resulting system must satisfy in to achieve these goals. The requirements to be elicited may range from modifications to well-understood problems and systems (i.e. software upgrades), to hazy understandings of new problems being automated, to relatively unconstrained requirements that are open to innovation (e.g. mass-market software). Requirements elicitation remains problematic; missing or mistaken requirements still delay projects and cause cost overruns. No firm definition has matured for requirements elicitation in comparison to other areas of requirements engineering. This research is aimed to improve the results of the requirements elicitation process directly impacting the quality of the software products derived from them