Institution: | Slovak University of Technology |
Technologies used: | Java, Eclipse JDT |
Inputs: | source code files |
Outputs: | model of activities of programmers and the calculation of the programmer’s knowledge score for the each used technology |
Addressed problem
Our focus is to automatically find out, using source codes, which technologies (libraries) programmers really use, when they are used and their depth of usage. Based on the result, we find out the programmers experience with the specific technology in the comparison with other programmers who used (use) this technology as well.
Description
Let’s consider, for example, the programmer uses the library to access a work with the SQL database in the program language Java. On the one side, we establish the level of his experience with the specific library. This level of experience is based on the usage of the technology. On the other side, we automatically determine that the programmer knows the SQL and Java languages.
Let’s consider the programmer who knows the platform Java which includes various technologies. Firstly, we automatically estimate the experience of programmer with platform technologies (together with technologies in general) in the comparison with other programmers. The programmer’s knowledge about technologies is represented with the knowledge score in interval 〈0,1〉 ∪{-1}, where 0 means that the programmer does not have any experience with the selected technology comparing to other programmers, and 1 means that the programmer’s knowledge about the technology is the highest in the comparison with other programmers. The value -1 means that the programmer used the selected technology as the only one and therefore we exactly don‘t know to express his relative experience. Following, based on the fact how many technologies the programmer has the experience with, we can automatically show the full experience with the platform in comparison with other programmers.
Our method on automatic extraction of programmer‘s experiences consist of these three steps:
- Identification the author of the source code and technologies which were used.
- The creation of the model of activities of programmers and the calculation of the programmer’s knowledge score for the each used technology.
- Actualization of the knowledge model of the programmer.