7 CONCLUSIONS
We have presented an approach to context modeling
and context transition detection in software develop-
ment. The context model combines a structural and a
lexical dimensions, to represent the source code ar-
tifacts, structural relations and terms that are more
relevant for the developer in a specific moment in
time. The context transition detection mechanism al-
lows the context model to automatically adapt to the
changes in the focus of attention of the developer. We
have implemented a prototype that integrates our ap-
proach in Eclipse. This prototype was submitted to
an experiment with a group of developers to collect
statistical information about the context modelling
process and to manually validate the context transi-
tion mechanism. The statistical information collected
shows that the source code artifacts manipulated by
the developer are highly correlated, leading us to be-
lieve that the use of a context model to assess the rel-
evancy of a source code artifact to the developer is
very promising. The human evaluation of the con-
text transition mechanism was not conclusive, but the
results are nevertheless encouraging, considering the
fact that developers have some difficulties in under-
standing the concept of context transition.
As future work we plan to improve the context
modeling and context transition processes, taking into
consideration some of the issues that were identified.
Also, we want to evaluate if the lexical context can
be used to detect context transitions and how it would
impact the the current context transition mechanism.
Next, we want to apply the context model developed
to improve the context-based retrieval of source code
artifacts in the IDE. The context model can be used
to rank, elicit and filter source code artifacts based on
their proximity to the context model.
ACKNOWLEDGEMENTS
Bruno Antunes is supported by the FCT scholarship
grant SFRH/BD/43336/2008, co-funded by ESF (Eu-
ropean Social Fund).
REFERENCES
Brown, P. J., Bovey, J. D., and Chen, X. (1997). Context-
aware applications: From the laboratory to the mar-
ketplace. Personal Communications, IEEE, 4:58–64.
Dey, A. K. and Abowd, G. D. (2000). Towards a better un-
derstanding of context and context-awareness. In CHI
2000 Workshop on the What, Who, Where, When, and
How of Context-Awareness, The Hague, The Nether-
lands.
Harris, Z. (1954). Distributional structure. Word,
10(23):146–162.
Heinemann, L. and Hummel, B. (2011). Recommending api
methods based on identifier contexts. In Proceedings
of the 3rd International Workshop on Search-Driven
Development: Users, Infrastructure, Tools, and Eval-
uation, SUITE ’11, pages 1–4, New York, NY, USA.
ACM.
Henrich, A. and Morgenroth, K. (2003). Supporting collab-
orative software development by context-aware infor-
mation retrieval facilities. In 14th International Work-
shop on Database and Expert Systems Applications,
2003. Proceedings., pages 249 – 253.
Holmes, R. and Murphy, G. C. (2005). Using structural con-
text to recommend source code examples. In Proceed-
ings of the 27th international conference on Software
engineering, ICSE ’05, pages 117–125, New York,
NY, USA. ACM.
Jaccard, P. (1901).
´
Etude comparative de la distribution
florale dans une portion des Alpes et des Jura. Bul-
letin del la Soci
´
et
´
e Vaudoise des Sciences Naturelles,
37:547–579.
Kersten, M. and Murphy, G. C. (2006). Using task context
to improve programmer productivity. In Proceedings
of the 14th ACM SIGSOFT International Symposium
on Foundations of Software Engineering, pages 1–11,
Portland, Oregon, USA. ACM.
Mostefaoui, G. K., Pasquier-Rocha, J., and Brezillon, P.
(2004). Context-aware computing: A guide for the
pervasive computing community. In Proceedings of
the IEEE/ACS International Conference on Pervasive
Services, ICPS 2004, pages 39–48.
Parnin, C. and Gorg, C. (2006). Building usage contexts
during program comprehension. In Proceedings of
the 14th IEEE International Conference on Program
Comprehension (ICPC’06), pages 13–22.
Schilit, B. and Theimer, M. (1994). Disseminating ac-
tive map information to mobile hosts. IEEE Network,
pages 22–32.
Warr, F. W. and Robillard, M. P. (2007). Suade: Topology-
based searches for software investigation. In Proceed-
ings of the 29th international conference on Software
Engineering, ICSE ’07, pages 780–783, Washington,
DC, USA. IEEE Computer Society.
Ye, Y. and Fischer, G. (2002). Supporting reuse by de-
livering task-relevant and personalized information.
In Proceedings of the 24th International Conference
on Software Engineering, ICSE ’02, pages 513–523,
New York, NY, USA. ACM.
ICSOFT2012-7thInternationalConferenceonSoftwareParadigmTrends
484