Powered by
2012 20th IEEE International Conference on Program Comprehension (ICPC),
June 11-13, 2012,
Passau, Germany
Tool Demonstrations
Tue, Jun 12, 16:15 - 17:00 (Chair: Abram Hindle / Chris Parnin)
CriticAL: A Critic for APIs and Libraries
Chandan R. Rupakheti and
Daqing Hou
(Clarkson University, USA)
It is well-known that APIs can be hard to learn
and use. Although search tools can help find related code
examples, API novices still face other significant challenges such
as evaluating the relevance of the search results. To help address
the broad problems of finding, understanding, and debugging
API-based solutions, we have built a critic system that offers
recommendations, explanations, and criticisms for API client code.
Our critic takes API usage rules as input, performs symbolic
execution to check that the client code has followed these rules
properly, and generates advice as output to help improve the
client code. We demonstrate our critic by applying it to a real-
world example derived from the Java Swing Forum.
@InProceedings{ICPC12p240,
author = {Chandan R. Rupakheti and Daqing Hou},
title = {CriticAL: A Critic for APIs and Libraries},
booktitle = {Proc.\ ICPC},
publisher = {IEEE},
pages = {240--242},
doi = {},
year = {2012},
}
Supporting Comprehension Experiments with Human Subjects
Janet Feigenspan and Norbert Siegmund
(University of Magdeburg, Germany)
Experiments with human subjects become more and more important in software engineering. To support planning, conducting, and replicating experiments targeting program comprehension, we developed PROPHET. It allows experimenters to easily define and customize experimental settings as well as to export settings such that others can replicate their results. Furthermore, PROPHET provides extension points, which allow users to integrate additional functionality.
@InProceedings{ICPC12p243,
author = {Janet Feigenspan and Norbert Siegmund},
title = {Supporting Comprehension Experiments with Human Subjects},
booktitle = {Proc.\ ICPC},
publisher = {IEEE},
pages = {243--245},
doi = {},
year = {2012},
}
SeByte: A Semantic Clone Detection Tool for Intermediate Languages
Iman Keivanloo, Chanchal K. Roy, and Juergen Rilling
(Concordia University, Canada; University of Saskatchewan, Canada)
SeByte is a semantic clone detection tool which accepts Java bytecode (binary) as input. SeByte provides a complementary approach to traditional pattern-based source code level clone detection. It is capable of detecting clones missed by existing clone detection tools since it exploits both pattern and content similarity at binary level.
@InProceedings{ICPC12p246,
author = {Iman Keivanloo and Chanchal K. Roy and Juergen Rilling},
title = {SeByte: A Semantic Clone Detection Tool for Intermediate Languages},
booktitle = {Proc.\ ICPC},
publisher = {IEEE},
pages = {246--248},
doi = {},
year = {2012},
}
CRat: A Refactoring Support Tool for Form Template Method
Keisuke Hotta,
Yoshiki Higo , Hiroshi Igaki, and Shinji Kusumoto
(Osaka University, Japan)
Refactoring is important for efficient software maintenance.
However, manual operations for refactoring are complicated,
and human-related errors easily occur. Tool support
can help users to apply such a complicated refactoring. This
paper proposes a refactoring support tool with Form Template
Method pattern. The developed tool automatically identifies
method pairs that can be refactored with Form Template Method,
and suggests information that is required for Form Template
Method application. It also has a function that metrics-based
filtering for detected method pairs. The function helps users to
select method pairs that should be refactored.
@InProceedings{ICPC12p249,
author = {Keisuke Hotta and Yoshiki Higo and Hiroshi Igaki and Shinji Kusumoto},
title = {CRat: A Refactoring Support Tool for Form Template Method},
booktitle = {Proc.\ ICPC},
publisher = {IEEE},
pages = {249--251},
doi = {},
year = {2012},
}
proc time: 0.26