27 research outputs found
A test-driven approach to code search and its application to the reuse of auxiliary functionality
Context: Software developers spend considerable effort implementing auxiliary functionality used by the main features of a system (e.g., compressing/decompressing files, encryption/decription of data, scaling/rotating images). With the increasing amount of open source code available on the Internet, time and effort can be saved by reusing these utilities through informal practices of code search and reuse. However, when this type of reuse is performed in an ad hoc manner, it can be tedious and error-prone: code results have to be manually inspected and integrated into the workspace.Objective: in this paper we introduce and evaluate the use of test cases as an interface for automating code search and reuse. We call our approach Test-Driven Code Search (TDCS). Test cases serve two purposes: (1) they define the behavior of the desired functionality to be searched; and (2) they test the matching results for suitability in the local context. We also describe CodeGenie, an Eclipse plugin we have developed that performs TDCS using a code search engine called Sourcerer.Method: Our evaluation consists of two studies: an applicability study with 34 different features that were searched using CodeGenie; and a performance study comparing CodeGenie, Google Code Search, and a manual approach.Results: Both studies present evidence of the applicability and good performance of TDCS in the reuse of auxiliary functionality.Conclusion: This paper presents an approach to source code search and its application to the reuse of auxiliary functionality. Our exploratory evaluation shows promising results, which motivates the use and further investigation of TDCS. (C) 2010 Elsevier B.V. All rights reserved.Universidade Federal de São Paulo, Dept Sci & Technol, Sao Jose Dos Campos, SP, BrazilUSP, ICMC, Comp Syst Dept, BR-13560970 Sao Carlos, SP, BrazilUniv Calif Irvine, Donald Bren Sch Informat & Comp Sci, Irvine, CA USAUniversidade Federal de São Paulo, Dept Sci & Technol, Sao Jose Dos Campos, SP, BrazilWeb of Scienc
A Biblioteca Digital de Teses e Dissertações da Universidade de São Paulo
Apresentação dos aspectos principais da Biblioteca Digital de Teses e Dissertações da Universidade de São Paulo (USP): o processo de desenvolvimento adotado para a implementação do site, a tecnologia utilizada, a arquitetura e a funcionalidade. Discussão sobre a Biblioteca Digital no processo de pós-graduação da USP. Relato das várias decisões não-técnicas adotadas ao longo do projeto, que tiveram grande impacto no resultado final
Um prognostico sobre a integração entre automação de escritorio e processamento de dados
Tese (doutorado)-Universidade de São Paulo, Faculdade de Economia e Administraçã
BISTFaSC: an aproach to embed structural testing facilities into software components
Component-based applications can be composed by in-house or COTS (Commercial off-the-shelf) components. In many situations, reused components should be tested before their integration into an operational environment. Testing components is not an easy task because they are usually provided as black boxes and have low testability. Built-in Testing (BIT) is an approach devised to improve component testability by embedding testing facilities into software components usually to support specification-based testing. Such components are called testable components. There are situations, however, in which combining specification and program-based testing is desirable. This paper proposes a BIT technique designed to introduce testing facilities into software components at the provider side to support structural testing at the user side, even when the source code is unavailable. An implementation to generate testable components written in Java is also presented. The approach was firstly evaluated by an exploratory study conducted to transform COTS components into testable components.CNPqEste evento faz parte do: Congresso Brasileiro de Software: Teoria e Prática - CBSoft 2013 (2013 Brasília, DF
A pointcut-based coverage analysis approach for aspect-oriented programs
Aspect-oriented programming (AOP) is a promising technology that supports separation of crosscutting concerns (i.e., functionality that tends to be tangled with, and scattered through the rest of the system). In AOP, a method-like construct named advice is applied to join points in the system through a special construct named pointcut. This mechanism supports the modularization of crosscutting behavior; however, since the added interactions are not explicit in the source code, it is hard to ensure their correctness. To tackle this problem, this paper presents a rigorous coverage analysis approach to ensure exercising the logic of each advice - statements, branches, and def-use pairs - at each affected join point. To make this analysis possible, a structural model based on Java bytecode - called PointCut-based Del-Use Graph (PCDU) - is proposed, along with three integration testing criteria. Theoretical, empirical, and exploratory studies involving 12 aspect-oriented programs and several fault examples present evidence of the feasibility and effectiveness of the proposed approach. (C) 2010 Elsevier Inc. All rights reserved.Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)FAPESP, Brazil[2008/10300-3]CNPq, BrazilConselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq