Code examples are key resources for helping programmers to learn correct Application Programming Interface (API) usages efficiently. However, most framework and library APIs fail in providing sufficient and adequate code examples in corresponding official documentations. Thus, it takes great programmers' efforts to browse and extract API usage examples from websites. To reduce such effort, this paper proposes a graph-based pattern-oriented mining approach, LFM-OUPD (Local fitness measure for detecting overlapping usage patterns) for API usage facility, that recommends proper API code examples from data analytics. API method queries are accepted from programmers and corresponding code files are collected from related API dataset. The detailed structural links among API method elements in conceptual source codes are captured and generate a code graph structure. Lancichinetti et al. proposed an overlapping community detecting algorithm (Local fitness measure, LFM), based on the local optimization of a fitness function. In LFM-OUPD, a mining algorithm based on LFM is presented to explore the division of method sequences in the directed source code element graph and detect candidates of different API usage patterns. Then a ranking approach is applied to obtain appropriate API usage pattern and code example candidates. A case study on Google Guava is conducted to evaluate the effectiveness of this approach.
Abstract. System analysis and design plays an integral part in the development process, which makes it a mandatory and important topic in software engineering education. However, the diverse design concerns and activities involved in deign process make it a great difficult to deliver system design topic effectively. To enhance the learning process, we utilized the mission guides style teaching in our system design course. Students are required to analyze and design a package delivery application system by using suggested open materials and tools. Positive feedbacks are received on stimulating students' interest.To explore a more generic education pattern for system analysis and design education, we conducted an empirical study based on the information and reflection collected during course delivery process. Students' presentation performance, assignment quality, final reflection and professor's evaluation were summarized and analyzed. In this study, we found that (1) teamwork can stimulate students' learning interest and passion, making class atmosphere active; (2) scenario-based modeling practice can help students improve the understanding of knowledge more quickly and easily; (3) most students prefer (Sino-English) Bilingual teaching method to gain a more professional education. These results indicate the key factors towards a generic education pattern of system design course. It is also expected to be utilized on better courses preparing.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.