4 research outputs found

    Requirements specifications and recovered architectures as grounded theories

    Get PDF
    This paper describes the classic grounded theory (GT) process as a method to discover GTs to be subjected to later empirical validation. The paper shows that a well conducted instance of requirements engineering or of architecture recovery resembles an instance of the GT process for the purpose of discovering the requirements specification or recovered architecture artifact that the requirements engineering or architecture recovery produces. Therefore, this artifact resembles a GT

    Clone Detection: How accurate is your data set?

    No full text
    Duplication of code in software systems is considered to be a serious problem that can affect a systems maintainability and extendability. It is reported that 10-15% of code in a software system is involved in cloning. However, because of the difficultly of objectively measuring the number of false positives in a clone result set, the accuracy of these reports is difficult to evaluate. Although an important topic, little work has been done in the area of evaluating the accuracy of clone detection methods. In this paper we propose a study to estimate the number of false positives that are likely to be in a data set in an objective way by measuring the number of clones found in a large body of unrelated code. We also propose a method to measure the impact of external factors such as programing idioms and API protocols on the detected results set. The results of this work will provide tools and knowledge to better evaluate the current state of the art of clone detection research

    Noname manuscript No. (will be inserted by the editor)

    No full text
    the date of receipt and acceptance should be inserted later Abstract Literature on the topic of code cloning often asserts that duplicating code within a software system is a bad practice, that it causes harm to the system’s design and should be avoided. However, in our studies, we have found significant evidence that cloning is often used in a variety of ways as a principled engineering tool. For example, one way to evaluate possible new features for a system is to clone the affected subsystems and introduce the new features there, in a kind of sandbox testbed. As features mature and become stable within the experimental subsystems, they can be migrated incrementally into the stable code base; in this way, the risk of introducing instabilities in the stable version is minimized. This paper describes several patterns of cloning that we have observed in our case studies and discusses the advantages and disadvantages associated with using them. We also examine through a case study the frequencies of these clones in two medium-sized open source software systems, the Apache web server and the Gnumeric spreadsheet application. In this study, we found that as many as 71 % of the clones could be considered to have a positive impact on the maintainability of the software system.

    Requirements Specifications and Recovered Architectures as Grounded Theories

    No full text
    Abstract. This paper describes grounded analysis (GA) as a method to discover grounded theories (GTs) be subjected to later empirical validation. The paper shows that a good instance of Requirements Engineering (RE) or Architecture Recovery (AR) is an instance of GA for the purpose of discovering the artifacts that RE or AR produces. Therefore, these artifacts are also GTs. 1 Grounded Theory Grounded analysis (GA) [1] is a method for developing grounded theories (GTs) [2], each of which consists of a collection of hypotheses, about a human process. In the 1960s, discomfort was growing with the application of traditional statistical methods to understanding and explaining social phenomena. GA was developed in response to this discomfort to provide a means gather detailed empirical evidence for theory that could be later subjected to traditional statistical empirical validation using controlled experiments or other means. GA is an adaptive research process for finding emergent theory that could not be anticipated in advance of the research. The researcher adapts the research process based on what he 3 has learned from the data he has seen so fa
    corecore