Samenvatting
Static analysis tools help to detect programming errors but generate a large number of alarms. Repositioning of alarms is recently proposed technique to reduce the number of alarms by replacing a group of similar alarms with a small number of newly created representative alarms. However, the technique fails to replace a group of similar alarms with a fewer representative alarms mainly when the immediately enclosing conditional statements of the alarms are different and not nested. This limitation is due to conservative assumption that a conditional statement of an alarm may prevent the alarm from being an error. To address the limitation above, we introduce the notion of non-impacting control dependencies (NCDs). An NCD of an alarm is a transitive control dependency of the alarm’s program point, that does not affect whether the alarm is an error. We approximate the computation of NCDs based on the alarms that are similar, and then reposition the similar alarms by considering the effect of their NCDs. The NCD-based repositioning allows to merge more similar alarms together and represent them by a small number of representative alarms than the state-of-the-art repositioning technique. Thus, it can be expected to further reduce the number of alarms. To measure the reduction obtained, we evaluate the NCD-based repositioning using total 105,546 alarms generated on 16 open source C applications, 11 industry C applications, and 5 industry COBOL applications. The evaluation results indicate that, compared to the state-of-the-art repositioning technique, the NCD-based repositioning reduces the number of alarms respectively by up to 23.57%, 29.77%, and 36.09%. The median reductions are 9.02%, 17.18%, and 28.61%, respectively.
Originele taal-2 | Engels |
---|---|
Titel | Programming Languages and Systems |
Subtitel | 17th Asian Symposium, APLAS 2019, Nusa Dua, Bali, Indonesia, December 1–4, 2019, Proceedings |
Redacteuren | Anthony Widjaja Lin |
Plaats van productie | Cham |
Uitgeverij | Springer |
Pagina's | 115-135 |
Aantal pagina's | 21 |
ISBN van elektronische versie | 978-3-030-34175-6 |
ISBN van geprinte versie | 978-3-030-34174-9 |
DOI's | |
Status | Gepubliceerd - 18 nov. 2019 |
Evenement | 17th Asian Symposium on Programming Languages and Systems, (APLAS 2019) - Bali, Indonesië Duur: 1 dec. 2019 → 4 dec. 2019 Congresnummer: 17 https://conf.researchr.org/home/aplas-2019 |
Publicatie series
Naam | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|
Volume | 11893 LNCS |
ISSN van geprinte versie | 0302-9743 |
ISSN van elektronische versie | 1611-3349 |
Congres
Congres | 17th Asian Symposium on Programming Languages and Systems, (APLAS 2019) |
---|---|
Verkorte titel | APLAS2019 |
Land/Regio | Indonesië |
Stad | Bali |
Periode | 1/12/19 → 4/12/19 |
Internet adres |