TY - GEN
T1 - SimplyHover
T2 - 28th IEEE/ACM International Conference on Program Comprehension, ICPC 2020, collocated with the 42nd International Conference on Software Engineering, ICSE 2020
AU - Jbara, Ahmad
N1 - Publisher Copyright:
© 2020 Copyright held by the owner/author(s). Publication rights licensed to ACM.
Copyright:
Copyright 2020 Elsevier B.V., All rights reserved.
PY - 2020/7/13
Y1 - 2020/7/13
N2 - Code comprehension is a vital mental process in any maintenanceactivity. It becomes decisive in large code blocks, in particular thosethat are governed by if-else statements. These large blocks increasethe spatial distance between the if statement and its else counterpart or other dependent else statements. This increased spatialcomplexity makes it hard for the developer to recall the if logicalexpression that he has just read and understood, so he needs to goback and read it again, then understand it, and eventually negate itto get the else implicit logical expression. In extreme cases the if-elsepair might occur in different pages so the developer has to scrollback and forth to grasp them both. Furthermore, to understandthe else implicit negated expression he might want to go back tothe farthest if statement and understand the aggregated logicalexpression all the way to the else which makes the understandingof the else even harder.In this work, we introduce SimplyHover, a plug-in for the EclipseIDE that brings the if condition next to its else counterpart orone of its descendants saving the developer to go back and forthover and over again. Furthermore, SimplyHover presents to thedeveloper, when he hovers over else, the if conditions in theirnegated form and even lets him write his own simplification for that.In some cases, the tool even suggests its own simplification of theaggregated expression. To demonstrate the usage and usefulness ofSimplyHover, a few code snippets from real software are presented.
AB - Code comprehension is a vital mental process in any maintenanceactivity. It becomes decisive in large code blocks, in particular thosethat are governed by if-else statements. These large blocks increasethe spatial distance between the if statement and its else counterpart or other dependent else statements. This increased spatialcomplexity makes it hard for the developer to recall the if logicalexpression that he has just read and understood, so he needs to goback and read it again, then understand it, and eventually negate itto get the else implicit logical expression. In extreme cases the if-elsepair might occur in different pages so the developer has to scrollback and forth to grasp them both. Furthermore, to understandthe else implicit negated expression he might want to go back tothe farthest if statement and understand the aggregated logicalexpression all the way to the else which makes the understandingof the else even harder.In this work, we introduce SimplyHover, a plug-in for the EclipseIDE that brings the if condition next to its else counterpart orone of its descendants saving the developer to go back and forthover and over again. Furthermore, SimplyHover presents to thedeveloper, when he hovers over else, the if conditions in theirnegated form and even lets him write his own simplification for that.In some cases, the tool even suggests its own simplification of theaggregated expression. To demonstrate the usage and usefulness ofSimplyHover, a few code snippets from real software are presented.
KW - Code comprehension
KW - If-else
KW - Tool
UR - http://www.scopus.com/inward/record.url?scp=85091935798&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85091935798&partnerID=8YFLogxK
U2 - 10.1145/3387904.3389297
DO - 10.1145/3387904.3389297
M3 - Conference contribution
AN - SCOPUS:85091935798
T3 - IEEE International Conference on Program Comprehension
SP - 456
EP - 460
BT - Proceedings - 2020 IEEE/ACM 28th International Conference on Program Comprehension, ICPC 2020
PB - IEEE Computer Society
Y2 - 13 July 2020 through 15 July 2020
ER -