Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Alexandre Perez is active.

Publication


Featured researches published by Alexandre Perez.


automated software engineering | 2012

GZoltar: an eclipse plug-in for testing and debugging

José Creissac Campos; André Riboira; Alexandre Perez

Testing and debugging is the most expensive, error-prone phase in the software development life cycle. Automated testing and diagnosis of software faults can drastically improve the efficiency of this phase, this way improving the overall quality of the software. In this paper we present a toolset for automatic testing and fault localization, dubbed GZoltar, which hosts techniques for (regression) test suite minimization and automatic fault diagnosis (namely, spectrum-based fault localization). The toolset provides the infrastructure to automatically instrument the source code of software programs to produce runtime data. Subsequently the data was analyzed to both minimize the test suite and return a ranked list of diagnosis candidates. The toolset is a plug-and-play plug-in for the Eclipse IDE to ease world-wide adoption.


automated software engineering | 2015

On the empirical evaluation of similarity coefficients for spreadsheets fault localization

Birgit Hofer; Alexandre Perez; Franz Wotawa

Spreadsheets are by far the most prominent example of end-user programs of ample size and substantial structural complexity. They are usually not thoroughly tested so they often contain faults. Debugging spreadsheets is a hard task due to the size and structure, which is usually not directly visible to the user, i.e., the functions are hidden and only the computed values are presented. A way to locate faulty cells in spreadsheets is by adapting software debugging approaches for traditional procedural or object-oriented programming languages. One of such approaches is spectrum-based fault localization (Sfl). In this paper, we study the impact of different similarity coefficients on the accuracy of Sfl applied to the spreadsheet domain. Our empirical evaluation shows that three of the 42 studied coefficients (Ochiai, Jaccard and Sorensen-Dice) require less effort by the user while inspecting the diagnostic report, and can also be used interchangeably without a loss of accuracy. In addition, we illustrate the influence of the number of correct and incorrect output cells on the diagnostic report.


international conference on software maintenance | 2014

Smelling Faults in Spreadsheets

Jácome Miguel Costa Cunha; João Paulo Fernandes; Pedro Martins; Alexandre Perez; João Saraiva

Despite being staggeringly error prone, spreadsheets are a highly flexible programming environment that is widely used in industry. In fact, spreadsheets are widely adopted for decision making, and decisions taken upon wrong (spreadsheet-based) assumptions may have serious economical impacts on businesses, among other consequences. This paper proposes a technique to automatically pinpoint potential faults in spreadsheets. It combines a catalog of spreadsheet smells that provide a first indication of a potential fault, with a generic spectrum-based fault localization strategy in order to improve (in terms of accuracy and false positive rate) on these initial results. Our technique has been implemented in a tool which helps users detecting faults. To validate the proposed technique, we consider a well-known and well-documented catalog of faulty spreadsheets. Our experiments yield two main results: we were able to distinguish between smells that can point to faulty cells from smells and those that are not capable of doing so, and we provide a technique capable of detecting a significant number of errors: two thirds of the cells labeled as faulty are in fact (documented) errors.


Interventional Neuroradiology | 2012

y-Stent-Assisted Coil embolization of Anterior Circulation Aneurysms using Two Solitaire AB devices: a Single Center experience

M. Martínez-Galdámez; P. Saura; J. Saura; Alfredo Martínez; J.M. De Campos; Alexandre Perez

Wide-neck intracranial aneurysms remain a challenge to endovascular treatment. We describe our experience in repairing wide-neck aneurysms of the anterior circulation located at arterial branch points using coil embolization assisted by Y-stenting using two Solitaire® stents. Six wide-neck intracranial aneurysms located on the middle cerebral artery bifurcation 3, pericallosal artery 1, and anterior communicating artery 2 were repaired by Y-stent-assisted coil embolization using two Solitaire® stents. Four cases were incidental findings of aneurysm and two cases were previously treated ruptured aneurysms that had undergone recanalization. All the cases were successfully treated without complications. Follow-up by digital subtraction angiography and magnetic resonance angiography at six months showed the stents to be patent with no recanalization of the aneurysm sacs. Repairing wide-neck aneurysms of the anterior circulation by Y-stent-assisted coil embolization using two Solitaire® stents is a simple and safe method of treating complex aneurysms. While the results are promising, larger series with longer term follow-ups are needed to corroborate that this treatment method is superior to other techniques.


Journal of Systems and Software | 2014

A dynamic code coverage approach to maximize fault localization efficiency

Alexandre Perez; André Riboira

HighlightsWe propose a new technique for fault localization, coined dynamic code coverage.DCC initially uses a coarser instrumentation to analyze the program traces.Instrumentation is increased for faulty components, until a finer detail is reached.A topology model to decide whether to use DCC or other techniques is also proposed.We validate our approach using real-world, large applications. Spectrum-based fault localization is amongst the most effective techniques for automatic fault localization. However, abstractions of program execution traces, one of the required inputs for this technique, require instrumentation of the software under test at a statement level of granularity in order to compute a list of potential faulty statements. This introduces a considerable overhead in the fault localization process, which can even become prohibitive in, e.g., resource constrained environments. To counter this problem, we propose a new approach, coined dynamic code coverage (DCC), aimed at reducing this instrumentation overhead. This technique, by means of using coarser instrumentation, starts by analyzing coverage traces for large components of the system under test. It then progressively increases the instrumentation detail for faulty components, until the statement level of detail is reached. To assess the validity of our proposed approach, an empirical evaluation was performed, injecting faults in six real-world software projects. The empirical evaluation demonstrates that the dynamic code coverage approach reduces the execution overhead that exists in spectrum-based fault localization, and even presents a more concise potential fault ranking to the user. We have observed execution time reductions of 27% on average and diagnostic report size reductions of 77% on average.


international conference on program comprehension | 2014

A diagnosis-based approach to software comprehension

Alexandre Perez

Program comprehension is a time-consuming task performed during the process of reusing, reengineering, and enhancing existing systems. Currently, there are tools to assist in program comprehension by means of dynamic analysis, but, e.g., most cannot identify the topology and the interactions of a certain functionality in need of change, especially when used in large, real-world software applications. We propose an approach, coined Spectrum-based Feature Comprehension (SFC), that borrows techniques used for automatic software-fault-localization, which were proven to be effective even when debugging large applications in resource-constrained environments. SFC analyses the program by exploiting run-time information from test case executions to compute the components that are important for a given feature (and whether a component is used to implement just one feature or more), helping software engineers to understand how a program is structured and what the functionalitys dependencies are. We present a toolset, coined Pangolin, that implements SFC and displays its report to the user using an intuitive visualization. A user study with the open-source application Rhino is presented, demonstrating the efficiency of Pangolin in locating the components that should be inspected when changing a certain functionality.


international conference on software engineering | 2017

A test-suite diagnosability metric for spectrum-based fault localization approaches

Alexandre Perez; Arie van Deursen

Current metrics for assessing the adequacy of a test-suite plainly focus on the number of components (be it lines, branches, paths) covered by the suite, but do not explicitly check how the tests actually exercise these components and whether they provide enough information so that spectrum-based fault localization techniques can perform accurate fault isolation. We propose a metric, called DDU, aimed at complementing adequacy measurements by quantifying a test-suites diagnosability, i.e., the effectiveness of applying spectrum-based fault localization to pinpoint faults in the code in the event of test failures. Our aim is to increase the value generated by creating thorough test-suites, so they are not only regarded as error detection mechanisms but also as effective diagnostic aids that help widely-used fault-localization techniques to accurately pinpoint the location of bugs in the system. Our experiments show that optimizing a test suite with respect to DDU yields a 34% gain in spectrum-based fault localization report accuracy when compared to the standard branch-coverage metric.


international conference on software maintenance | 2014

FaultySheet Detective: When Smells Meet Fault Localization

Jácome Miguel Costa Cunha; João Paulo Fernandes; P. Martins; Alexandre Perez; João Saraiva

This paper presents a tool, dubbed Faulty Sheet Detective, for aiding in spreadsheet fault localization, which combines the detection of bad smells with a generic spectrum-based fault localization algorithm.


international conference on software engineering | 2015

CodeAware: sensor-based fine-grained monitoring and management of software artifacts

Hakan Erdogmus; Alexandre Perez

Current continuous integration (CI) tools, although extensible, can be limiting in terms of flexibility. In particular, artifact analysis capabilities available through plug in mechanisms are both coarse-grained and centralized. To address this limitation, this paper introduces a new paradigm, Code Aware, for distributed and fine-grained artifact analysis. Code Aware is an ecosystem inspired by sensor networks, consisting of monitors and actuators, aimed at improving code quality and team productivity. Code wares vision entails (a) the ability to probe software artifacts of any granularity and localization, from variables to classes or files to entire systems, (b) the ability to perform both static and dynamic analyses on these artifacts, and (c) the ability to describe targeted remediation actions, for example to notify interested developers, through automated actuators. We provide motivational examples for the use of Code Aware that leverage current CI solutions, sketch the architecture of its underlying ecosystem, and outline research challenges.


international symposium on software reliability engineering | 2012

A Topology-Based Model for Estimating the Diagnostic Efficiency of Statistics-Based Approaches

Alexandre Perez; André Riboira

Spectrum-based fault localization (SFL) and dynamic code coverage (DCC) are two statistics-based fault localization techniques used in software fault diagnosis. Due to their nature (statistical analysis of the coverage information), the best technique of the two depends greatly on the system under test code structure and size. We propose a lightweight, topology-based analysis to quickly estimate the project under test coverage matrix when executed, based on the source code structure. This analysis will choose which fault localization technique to use by creating an hierarchical model of the system. To validate our proposed approach, an empirical evaluation was performed, injecting faults in six real-world software projects. We have demonstrated that using the topology-based analysis to choose the best fault localization technique provides a better execution time performance on average (23%) than using DCC (9%), when comparing to SFL.

Collaboration


Dive into the Alexandre Perez's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Birgit Hofer

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar

Franz Wotawa

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Arie van Deursen

Delft University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge