An Approach to Context Modeling in Software Development

  • Bruno Antunes
  • Joel Cordeiro
  • Paulo Gomes
Part of the Communications in Computer and Information Science book series (CCIS, volume 411)


The contextual information associated to the work of a developer can be used to identify the source code artifacts that are more relevant at a specific point in time. This information is essential to reduce the effort spent by developers when searching for needed source code artifacts. We propose a context model that represents the focus of attention of the developer at each moment. This context model adapts automatically to changes in the focus of attention of the developer by detecting context transitions. We have developed a prototype that was submitted to an experiment with a group of developers. The results collected show that the use of our context model to rank, elicit and filter relevant source code elements for the developer is very promising.


Context Modeling Context Capture Context Transitions Software Development IDE 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Mostefaoui, G.K., Pasquier-Rocha, J., Brezillon, P.: Context-Aware Computing: A Guide for the Pervasive Computing Community. In: Proc. of the IEEE/ACS International Conference on Pervasive Services (ICPS 2004), pp. 39–48. IEEE Computer Society, Washington, DC (2004)CrossRefGoogle Scholar
  2. 2.
    Schilit, B., Theimer, M.: Disseminating Active Map Information to Mobile Hosts. IEEE Network 8(5), 22–32 (1994)CrossRefGoogle Scholar
  3. 3.
    Brown, P.J., Bovey, J.D., Chen, X.: Context-Aware Applications: From the Laboratory to the Marketplace. IEEE Personal Communications 4, 58–64 (1997)CrossRefGoogle Scholar
  4. 4.
    Dey, A.K., Abowd, G.D.: Towards a Better Understanding of Context and Context-Awareness. In: Proc. of the CHI Workshop on the What, Who, Where, When, and How of Context-Awareness, The Hague, The Netherlands (2000)Google Scholar
  5. 5.
    Kersten, M., Murphy, G.C.: Using Task Context to Improve Programmer Productivity. In: Proc. of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT 2006/FSE-14), pp. 1–11. ACM, New York (2006)CrossRefGoogle Scholar
  6. 6.
    Parnin, C., Gorg, C.: Building Usage Contexts During Program Comprehension. In: Proc. of the 14th IEEE International Conference on Program Comprehension (ICPC 2006), pp. 13–22. IEEE Computer Society, Washington, DC (2006)CrossRefGoogle Scholar
  7. 7.
    Piorkowski, D., Fleming, S., Scaffidi, C., Bogart, C., Burnett, M., John, B., Bellamy, R., Swart, C.: Reactive Information Foraging: An Empirical Investigation of Theory-Based Recommender Systems for Programmers. In: Proc. of the ACM Annual Conference on Human Factors in Computing Systems (CHI 2012), pp. 1471–1480. ACM, New York (2012)CrossRefGoogle Scholar
  8. 8.
    Holmes, R., Murphy, G.C.: Using Structural Context to Recommend Source Code Examples. In: Proc. of the 27th International Conference on Software Engineering (ICSE 2005), pp. 117–125. ACM, New York (2005)Google Scholar
  9. 9.
    Ye, Y., Fischer, G.: Supporting Reuse by Delivering Task-Relevant and Personalized Information. In: Proc. of the 24th International Conference on Software Engineering (ICSE 2002), pp. 513–523. ACM, New York (2002)Google Scholar
  10. 10.
    Heinemann, L., Hummel, B.: Recommending API Methods Based on Identifier Contexts. In: Proc. of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation (SUITE 2011), pp. 1–4. ACM, New York (2011)CrossRefGoogle Scholar
  11. 11.
    Warr, F.W., Robillard, M.P.: Suade: Topology-Based Searches for Software Investigation. In: Proc. of the 29th International Conference on Software Engineering (ICSE 2007), pp. 780–783. IEEE Computer Society, Washington, DC (2007)CrossRefGoogle Scholar
  12. 12.
    Harris, Z.: Distributional Structure. Word 10(23), 146–162 (1954)Google Scholar
  13. 13.
    Jaccard, P.: Étude comparative de la distribution florale dans une portion des Alpes et des Jura. Bulletin del la Société Vaudoise des Sciences Naturelles 37, 547–579 (1901)Google Scholar
  14. 14.
    Antunes, B., Cordeiro, J., Gomes, P.: Context-Based Search in Software Development. In: Proc. of the 7th Conference on Prestigious Applications of Intelligent Systems (PAIS 2012) of the 20th European Conference on Artificial Intelligence (ECAI 2012), pp. 937–942. IOS Press (2012)Google Scholar
  15. 15.
    Antunes, B., Cordeiro, J., Gomes, P.: An Approach to Context-Based Recommendation in Software Development. In: Proc. of the 6th ACM Conference on Recommender Systems (RecSys 2012), pp. 171–178. ACM Press, New York (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Bruno Antunes
    • 1
  • Joel Cordeiro
    • 1
  • Paulo Gomes
    • 1
  1. 1.Centre for Informatics and Systems of the University of CoimbraCoimbraPortugal

Personalised recommendations