Generating an Interactive View of Dynamic Aspects of API Usage Examples

Author(s):  
Yoshiya Ishida ◽  
Yuu Arimatsu ◽  
Lyu Kaixie ◽  
Go Takagi ◽  
Kunihiro Noda ◽  
...  
Keyword(s):  
2021 ◽  
Vol 28 (2) ◽  
Author(s):  
Sebastian Nielebock ◽  
Robert Heumüller ◽  
Kevin Michael Schott ◽  
Frank Ortmeier

AbstractLack of experience, inadequate documentation, and sub-optimal API design frequently cause developers to make mistakes when re-using third-party implementations. Such API misuses can result in unintended behavior, performance losses, or software crashes. Therefore, current research aims to automatically detect such misuses by comparing the way a developer used an API to previously inferred patterns of the correct API usage. While research has made significant progress, these techniques have not yet been adopted in practice. In part, this is due to the lack of a process capable of seamlessly integrating with software development processes. Particularly, existing approaches do not consider how to collect relevant source code samples from which to infer patterns. In fact, an inadequate collection can cause API usage pattern miners to infer irrelevant patterns which leads to false alarms instead of finding true API misuses. In this paper, we target this problem (a) by providing a method that increases the likelihood of finding relevant and true-positive patterns concerning a given set of code changes and agnostic to a concrete static, intra-procedural mining technique and (b) by introducing a concept for just-in-time API misuse detection which analyzes changes at the time of commit. Particularly, we introduce different, lightweight code search and filtering strategies and evaluate them on two real-world API misuse datasets to determine their usefulness in finding relevant intra-procedural API usage patterns. Our main results are (1) commit-based search with subsequent filtering effectively decreases the amount of code to be analyzed, (2) in particular method-level filtering is superior to file-level filtering, (3) project-internal and project-external code search find solutions for different types of misuses and thus are complementary, (4) incorporating prior knowledge of the misused API into the search has a negligible effect.


2010 ◽  
Vol 1 ◽  
Author(s):  
Michael McCarthy

AbstractAn important priority for the English Profile programme is to incorporate empirical evidence of the spoken language into the Common European Framework (CEFR). At present, the CEFR descriptors relating to the spoken language include references to fluency and its development as the learner moves from one level to another. This article offers a critique of the monologic bias of much of our current approach to spoken fluency. Fluency undoubtedly involves a degree of automaticity and the ability quickly to retrieve ready-made chunks of language. However, fluency also involves the ability to create flow and smoothness across turn-boundaries and can be seen as an interactive phenomenon in discourse. The article offers corpus evidence for the notion of confluence, that is the joint production of flow by more than one speaker, focusing in particular on turn-openings and closings. It considers the implications of an interactive view of fluency for pedagogy, assessment and in the broader social context.


Author(s):  
Kevin J. Gucwa ◽  
Harry H. Cheng

The design of RoboSim, a virtual environment for modular robots which controls simulated robots with code written for the hardware robots without modification, is described in detail in this paper along with its applications in educational environments. RoboSim integrates into the Ch programming environment, a C/C++ interpreter, that provides the ability to remotely control robots through interpreted C/C++ code allowing users to alternate between hardware and virtual robots without modifying the code. Open source software projects Open Dynamics Engine, OpenSceneGraph, and Qt are employed to produce the virtual environment and user interface which provide the capability of running on all major software platforms. The design of the software includes multiple library modules each specific to a particular task; therefore the simulation library and Graphical User Interface (GUI) can link against only the necessary libraries. The GUI links against the graphical library and XML library to give an interactive view of the RoboSim Scene as users are adding robots and obstacles into both the GUI and simulation. Execution of Ch code generates a new RoboSim Scene window which has the entire simulation that utilizes the simulation, graphical, xml, and callback libraries, in addition to the identical Scene from the GUI. It generates its own window for the user to view and interact with the progress of the simulation.


2017 ◽  
Vol 29 (12) ◽  
pp. e1841 ◽  
Author(s):  
Mohammad Ghafari ◽  
Konstantin Rubinov ◽  
Mohammad Mehdi Pourhashem K.
Keyword(s):  

2005 ◽  
Vol 25 (1) ◽  
pp. 48-53 ◽  
Author(s):  
Y. Kakehi ◽  
M. Iida ◽  
T. Naemura ◽  
Y. Shirai ◽  
M. Matsushita ◽  
...  
Keyword(s):  

2021 ◽  
Author(s):  
Maha Kamal ◽  
Ayman Abaid ◽  
Shamsa Abid ◽  
Shafay Shamail
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document