Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Alberto Goffi

dblp:127/9126 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
1since 2021 · last 2023
0000-0002-9658-3903ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 2 first-authorArtificial intelligence and machine learning · 2 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Software testing · 66% Program analysis · 17% Program synthesis and code generation · 6%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Medical and health informatics · 100%
Computer graphics and multimedia
1 paper
Multimedia analysis and retrieval · 100%
Artificial intelligence
1 paper
Efficient and distributed learning · 100%

Topics — the 15 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Medical and health informatics › medical imaging › ultrasound imaging
ultrasound diagnosis
0.712023
MobilePTX: Sparse Coding for Pneumothorax Detection Given Limited Training Examples · AAAI 2023
Multimedia analysis and retrieval
video analysis
0.712023
MobilePTX: Sparse Coding for Pneumothorax Detection Given Limited Training Examples · AAAI 2023
Software testing
test generation
0.622018
Translating code comments to procedure specifications · ISSTA 2018
Automatic generation of oracles for exceptional behaviors · ISSTA 2016
Software testing › test oracle
test oracle generation
0.422016
Automatic generation of oracles for exceptional behaviors · ISSTA 2016
Cross-checking oracles from intrinsic software redundancy · ICSE 2014
Software testing › test generation
specification-based test generation
0.312018
Translating code comments to procedure specifications · ISSTA 2018
Program analysis
specification mining
0.312018
Translating code comments to procedure specifications · ISSTA 2018
Machine learning › Efficient and distributed learning › data-efficient learning
small-data learning
0.212023
MobilePTX: Sparse Coding for Pneumothorax Detection Given Limited Training Examples · AAAI 2023
Software testing › test generation
automated test generation
0.212014
Cross-checking oracles from intrinsic software redundancy · ICSE 2014
Software testing
metamorphic testing
0.212014
Search-based synthesis of equivalent method sequences · SIGSOFT FSE 2014
Software testing › test generation › test sequence generation
method sequence generation
0.212014
Search-based synthesis of equivalent method sequences · SIGSOFT FSE 2014
Program synthesis and code generation
search-based program synthesis
0.212014
Search-based synthesis of equivalent method sequences · SIGSOFT FSE 2014
Program analysis
dynamic analysis
0.212013
RADAR: a tool for debugging regression problems in C/C++ software · ICSE 2013
Debugging and program repair
regression debugging
0.212013
RADAR: a tool for debugging regression problems in C/C++ software · ICSE 2013
Software maintenance and evolution
software documentation
0.112018
Translating code comments to procedure specifications · ISSTA 2018
Operating systems
fault tolerance
0.112014
Search-based synthesis of equivalent method sequences · SIGSOFT FSE 2014

Methods — techniques the papers use, named apart from their topics

small-data classifier · 2.0YOLOv4 · 2.03d sparse coding · 2.0semantic matching · 0.3pattern matching · 0.3natural language processing · 0.3lexical matching · 0.3specification-based testing · 0.2search-based synthesis · 0.2metamorphic testing · 0.2cross-checking · 0.2dynamic analysis · 0.2change identification · 0.2
YearPublicationVenuePosition
2023 MobilePTX: Sparse Coding for Pneumothorax Detection Given Limited Training Examples
abstract
Point-of-Care Ultrasound (POCUS) refers to clinician-performed and interpreted ultrasonography at the patient's bedside. Interpreting these images requires a high level of expertise, which may not be available during emergencies. In this paper, we support POCUS by developing classifiers that can aid medical professionals by diagnosing whether or not a patient has pneumothorax. We decomposed the task into multiple steps, using YOLOv4 to extract relevant regions of the video and a 3D sparse coding model to represent video features. Given the difficulty in acquiring positive training videos, we trained a small-data classifier with a maximum of 15 positive and 32 negative examples. To counteract this limitation, we leveraged subject matter expert (SME) knowledge to limit the hypothesis space, thus reducing the cost of data collection. We present results using two lung ultrasound datasets and demonstrate that our model is capable of achieving performance on par with SMEs in pneumothorax identification. We then developed an iOS application that runs our full system in less than 4 seconds on an iPad Pro, and less than 8 seconds on an iPhone 13 Pro, labeling key regions in the lung sonogram to provide interpretable diagnoses.
Darryl Hannan, Steven C. Nesbit, Ximing Wen, Glen Smith, Alberto Goffi, Michael J. Morris, John C. Hunninghake, Nicholas E. Villalobos, Edward Kim 0006, Rosina O. Weber, Christopher J. MacLellan
AAAI6
2018 Translating code comments to procedure specifications
abstract
Procedure specifications are useful in many software development tasks. As one example, in automatic test case generation they can guide testing, act as test oracles able to reveal bugs, and identify illegal inputs. Whereas formal specifications are seldom available in practice, it is standard practice for developers to document their code with semi-structured comments. These comments express the procedure specification with a mix of predefined tags and natural language. This paper presents Jdoctor, an approach that combines pattern, lexical, and semantic matching to translate Javadoc comments into executable procedure specifications written as Java expressions. In an empirical evaluation, Jdoctor achieved precision of 92% and recall of 83% in translating Javadoc into procedure specifications. We also supplied the Jdoctor-derived specifications to an automated test case generation tool, Randoop. The specifications enabled Randoop to generate test cases of higher quality.
Arianna Blasi, Alberto Goffi, Konstantin Kuznetsov 0001, Alessandra Gorla, Michael D. Ernst, Mauro Pezzè, Sergio Delgado Castellanos
ISSTA2
2016 Automatic generation of oracles for exceptional behaviors
abstract
Test suites should test exceptional behavior to detect faults in error-handling code. However, manually-written test suites tend to neglect exceptional behavior. Automatically-generated test suites, on the other hand, lack test oracles that verify whether runtime exceptions are the expected behavior of the code under test.
Alberto Goffi, Alessandra Gorla, Michael D. Ernst, Mauro Pezzè
ISSTA1
2015 Synthesis of Equivalent Method Calls in Guava
Andrea Mattavelli, Alberto Goffi, Alessandra Gorla
SSBSE2
2014 Cross-checking oracles from intrinsic software redundancy
abstract
Despite the recent advances in automatic test generation, testers must still write test oracles manually. If formal specifications are available, it might be possible to use decision procedures derived from those specifications. We present a technique that is based on a form of specification but also leverages more information from the system under test. We assume that the system under test is somewhat redundant, in the sense that some operations are designed to behave like others but their executions are different. Our experience in this and previous work indicates that this redundancy exists and is easily documented. We then generate oracles by cross-checking the execution of a test with the same test in which we replace some operations with redundant ones. We develop this notion of cross-checking oracles into a generic technique to automatically insert oracles into unit tests. An experimental evaluation shows that cross-checking oracles, used in combination with automatic test generation techniques, can be very effective in revealing faults, and that they can even improve good hand-written test suites.
Antonio Carzaniga, Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, Mauro Pezzè
ICSE2
2014 Search-based synthesis of equivalent method sequences
abstract
Software components are usually redundant, since their interface offers different operations that are equivalent in their functional behavior. Several reliability techniques exploit this redundancy to either detect or tolerate faults in software. Metamorphic testing, for instance, executes pairs of sequences of operations that are expected to produce equivalent results, and identifies faults in case of mismatching outcomes. Some popular fault tolerance and self-healing techniques execute redundant operations in an attempt to avoid failures at runtime. The common assumption of these techniques, though, is that such redundancy is known a priori. This means that the set of operations that are supposed to be equivalent in a given component should be available in the specifications. Unfortunately, inferring this information manually can be expensive and error prone. This paper proposes a search-based technique to synthesize sequences of method invocations that are equivalent to a target method within a finite set of execution scenarios. The experimental results obtained on 47 methods from 7 classes show that the proposed approach correctly identifies equivalent method sequences in the majority of the cases where redundancy was known to exist, with very few false positives.
Alberto Goffi, Alessandra Gorla, Andrea Mattavelli, Mauro Pezzè, Paolo Tonella
SIGSOFT FSE1
2013 RADAR: a tool for debugging regression problems in C/C++ software
abstract
Multiple tools can assist developers when debugging programs, but only a few solutions specifically target the common case of regression failures, to provide a more focused and effective support to debugging. In this paper we present RADAR, a tool that combines change identification and dynamic analysis to automatically explain regression problems with a list of suspicious differences in the behavior of the base and upgraded version of a program. The output produced by the tool is particularly beneficial to understand why an application failed. A demo video is available at http://www.youtube.com/watch?v=DMGUgALG-yE.
Fabrizio Pastore, Leonardo Mariani, Alberto Goffi
ICSE3
2012 Dynamic Analysis of Upgrades in C/C++ Software
abstract
Regression testing techniques are commonly used to validate the correctness of upgrades. When a regression test fails, testers must understand the erroneous behaviors that caused the failure and identify the fault that originated these erroneous behaviors. In many cases, identifying the causes of a failure is difficult and time consuming. The analysis of regression problems provides interesting opportunities to validation and verification techniques. In fact, by comparing the execution of the base version and the upgraded version of the same program it is possible to automatically deduce information about incorrect behavior of the program. In this paper we present RADAR (Regression Analysis with Diff And Recording), a dynamic analysis technique, which analyzes regression problems and automatically identifies the chain of erroneous events that lead to a failure in C/C++ programs. RADAR exploits information about changes and the availability of multiple versions of the same program to automatically distinguish correct and suspicious events. Empirical experience with industrial and open source cases shows that RADAR can effectively support testers in the investigation of regression problems. Thus, RADAR can drive and simplify the debugging process.
Fabrizio Pastore, Leonardo Mariani, Alberto Goffi, Manuel Oriol, Michael Wahler
ISSRE3