5,318 research outputs found
Recommended from our members
A software classification scheme
Reusing code is one approach to software reusability. Code is the end product of the software lifecycle. It is delivered in a low level representation that is difficult to reuse unless an almost perfect match exists between available features and required specifications. There is a need to organize large inventories of software such that reusable code is easy to locate and exchange. The relative success in the reuse of code fragments reported by some software factories is due in part to their capacity to encapsulate domain specific functions and create specialized libraries of components classified by these locally standardized functions.A general software classification scheme that organizes reusability related attributes and common functions from different domains is proposed as a partial solution to the software reusability problem. For the problem of selecting from similar, potentially reusable. components, a partial solution based on evaluation of common characteristics is also proposed. A library system is presented that integrates the proposed classification scheme with an evaluation mechanism based on inherent component attributes, programming languages characteristics and reuser experience.The fundamental contribution of this dissertation is a formal treatment of a faceted scheme for software classification leading to better understanding of reusability at the code level. This approach has been prototyped in a library system for the semi-automatic classification of software components. Analysis were performed to evaluate the classification scheme. The results show the potential of the scheme in organizing collections of code fragments, in improving retrieval, and in simplifying the classification process. Tests of the evaluation mechanism showed positive correlation with evaluations conducted by potential reusers
Recommended from our members
UK Research Information Shared Service (UKRISS) Final Report, July 2014
The reporting of research information is a complex and expensive activity for research organisations (ROs). There is little alignment between funders of the reporting requests made to institutions and requests made to individual researchers about their research outputs and outcomes. This inevitably results in duplication and increased costs across the sector, whilst limiting the potential sharing and reuse of the information. The UK Research Information Shared Service (UKRISS) project conducted a feasibility and scoping study for the reporting of research information at a national level based on CERIF (Common European Research Information Format), with the objective of increasing efficiency, productivity and quality across the sector. The aim was to define and prototype solutions which are compelling, easy to use, have a low entry barrier, and support innovative information sharing and benchmarking. CERIF has emerged as the preferred format for expressing research information across Europe. To date, CERIF has been piloted for specific applications, but not as a format for reporting requirements across all UK ROs. The final report presents the work carried out by the UKRISS project, including requirements gathering, modelling and prototyping, as well as recommendation for sustainability. UKRISS was divided into two phases. Phase 1, mapping the reporting landscape, ran from March 2012 to December 2012. Phase 2, exploring delivery of potential solutions, began in February 2013 and ended in December 2013
Implementation of Faceted Values in Node.JS.
Information flow analysis is the study of mechanisms by which developers may protect sensitive data within an ecosystem containing untrusted third-party code. Secure multi-execution is one such mechanism that reliably prevents undesirable information flows, but a programmer’s use of secure multi-execution is itself challenging and prone to error. Faceted values have been shown to provide an alternative to secure multi-execution which is, in theory, functionally equivalent. The purpose of this work is to show that the theory holds in practice by implementing usable faceted values in JavaScript via source code transformation. The primary contribution of this project is to provide a library that makes these transformations possible in any standard JavaScript runtime without requiring native support. We build a pipeline that takes JavaScript code with syntactic support for faceted values and, through source code transformation, produces platform-independent JavaScript code containing functional faceted values. Our findings include a method by which we may optimize the use of faceted values through static analysis of the program’s information flow
Crowdsourcing Linked Data on listening experiences through reuse and enhancement of library data
Research has approached the practice of musical reception in a multitude of ways, such as the analysis of professional critique, sales figures and psychological processes activated by the act of listening. Studies in the Humanities, on the other hand, have been hindered by the lack of structured evidence of actual experiences of listening as reported by the listeners themselves, a concern that was voiced since the early Web era. It was however assumed that such evidence existed, albeit in pure textual form, but could not be leveraged until it was digitised and aggregated. The Listening Experience Database (LED) responds to this research need by providing a centralised hub for evidence of listening in the literature. Not only does LED support search and reuse across nearly 10,000 records, but it also provides machine-readable structured data of the knowledge around the contexts of listening. To take advantage of the mass of formal knowledge that already exists on the Web concerning these contexts, the entire framework adopts Linked Data principles and technologies. This also allows LED to directly reuse open data from the British Library for the source documentation that is already published. Reused data are re-published as open data with enhancements obtained by expanding over the model of the original data, such as the partitioning of published books and collections into individual stand-alone documents. The database was populated through crowdsourcing and seamlessly incorporates data reuse from the very early data entry phases. As the sources of the evidence often contain vague, fragmentary of uncertain information, facilities were put in place to generate structured data out of such fuzziness. Alongside elaborating on these functionalities, this article provides insights into the most recent features of the latest instalment of the dataset and portal, such as the interlinking with the MusicBrainz database, the relaxation of geographical input constraints through text mining, and the plotting of key locations in an interactive geographical browser
Automatic refinement of user requirements : a case study in software tool evaluation
This paper presents an assessment of system effectiveness in automatic requirements refinement by comparing results obtained from experts and novices with those achieved by the system. As the investigated system was a combination of a tightly inter-connected methods and a tool, the evaluation framework melded together a number of distinct methodological approaches structured into three empirical studies, which aimed at the construction of a case problem domain, calibrating the system using this defined domain elements and finally using the calibrated system to assess its effectiveness. In consequence, it was concluded that the evaluated methods and tools were effective in supporting requirements refinement.<br /
SUPPORTING SEARCH FOR REUSABLE SOFTWARE OBJECTS
Software reuse in the presence of a repository and object-based CASE tool is likely to be "biased" Prior
research has shown that a developer will be: (1) most likely to reuse her own objects; (2) somewhat less likely
to reuse objects developed by her project team members; and, (3) even less likely to reuse objects stored in the
repository, but developed elsewhere in the corporation. These biases can result in sub-optimal levels of
software reuse. In the presence of such biases it is appropriate to deploy tools that support the search for
software reuse, so that developers find it easier to reuse software objects authored by developers other than
themselves or project team members. However; the tools that are chosen or created for this purpose must
adequately treat the technical and cognitive fundamentals of the problem for individual developers, and
recognize the organizational and economic perspectives of a firm that wishes to maximize the business value
of its software development activities. In this paper we present a two-stage descriptive model that represents
the search process for reusable software objects. We evaluate appropriate technologies, propose a technical
solution to the problem of searching for reusable objects, and demonstrate its feasibility via a prototype
implementation. The technical tool combines an automated classifier and a hypertext system. We describe an
architecture to automatically create hypertext networks based on the classification schema. We illustrate our
architecture using a classification of software objects obtained through structured interviews with software
developers.Information Systems Working Papers Serie
An application of machine learning to the organization of institutional software repositories
Software reuse has become a major goal in the development of space systems, as a recent NASA-wide workshop on the subject made clear. The Data Systems Technology Division of Goddard Space Flight Center has been working on tools and techniques for promoting reuse, in particular in the development of satellite ground support software. One of these tools is the Experiment in Libraries via Incremental Schemata and Cobweb (ElvisC). ElvisC applies machine learning to the problem of organizing a reusable software component library for efficient and reliable retrieval. In this paper we describe the background factors that have motivated this work, present the design of the system, and evaluate the results of its application
Interoperable subject retrieval in a distributed multi-scheme environment : new developments in the HILT project
The HILT (HIgh-Level Thesaurus) project (http://hilt.cdlr.strath.ac.uk/), based primarily at the Centre for Digital Library Research (CDLR) (http://cdlr.strath.ac.uk/) at Strathclyde University in Glasgow is entering its fourth stage following the completion of Phases I (http://hilt.cdlr.strath.ac.uk/index1.html) and II (http://hilt.cdlr.strath.ac.uk/index2.html) and the Machine to Machine (M2M) Feasibility Study (http://hilt.cdlr.strath.ac.uk/hiltm2mfs/). HILT is funded by the Joint Information Systems Committee (JISC) in the United Kingdom (UK) to examine an issue of global significance - facilitating interoperability of subject descriptions in a distributed, cross-service retrieval environment where different services use different subject and classification schemes to describe content, making cross-searching by subject difficult. HILT Phase I determined that there was a community consensus in the UK in favour of using inter-scheme mapping to achieve interoperability between services using different schemes, an approach followed by several recent projects (Heery et al, 2001; Koch et al, 2001; MACS, 2005; Saeed and Chaudhury 2002). HILT Phase II chose a spine-based approach to mapping and chose the Dewey Decimal Classification (DDC) as the central scheme to which all other schemes would be mapped. It also built an illustrative pilot mapping service, based on an adaptation of the Wordmap (http://www.wordmap.com/) terminology-handling software and made a range of recommendations on issues requiring further research and ongoing development requirements
Software Reuse in Information Systems Development
Software and Management Information Systems application development have become a key area to the performance of most firms. The reuse of previously written code is a way to increase software development productivity as well as the quality of the software (Basili, et al., 1996; Gaffney and Durek, 1989). If previously tested components are reused in a new software project, they are more likely to be error free than new components. This reduces the overall failure rate of the software project. Case studies, such as (Banker and Kauffman, 1991; Poulin, et al., 1993; Apte, et al., 1990; Lim, 1994; Swanson, et al., 1991) were instrumental in obtaining such insights. Today, an increasing number of organizations are adopting the practice of software reuse (Lim, 1994). A common misconception is that object-orientation alone will lead to reuse. While it can help facilitating a reuse approach, research has shown that object technology does not always lead to reuse (Fichman and Kemerer, 1997). Software reuse requires a substantial up-front investment for the development and maintenance of a software repository with reusable components (Barnes and Bollinger, 1991). A large part of the set-up cost comes from the fact that additional effort is needed to make regular components generic enough for use in future projects (Mili, et al., 1994). In the long-run, this initial investment can be offset by the cost savings through reuse. Using a reusable component in lieu of writing a new component from scratch saves development cost. However, the component has to be located and retrieved from the repository. Often, components cannot be used as is, but also need to be modified to fit the context of the new project. Reuse can only be economically viable, if the savings achieved through reuse will over time offset the start-up cost of implementing the reuse methodology and populating the software repository. While software reuse is not a new research area to computer science (Krueger, 1992), MIS research has only recently begun to investigate this important aspect of software development. This reflects an increased understanding that too little work has been done on nontechnical issues (Zand and Samadzadeh, 1995). Organizational and behavioral aspects, legal constraints, and economic considerations are little explored in the context of software reuse. IS research can also contribute to storage and retrieval problem by developing domain specific solutions. In this overview we summarize the work done in the areas most important to IS research
- …