Skip to main content

The Emergent Structure of Development Tasks

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3586))

Abstract

Integrated development environments have been designed and engineered to display structural information about the source code of large systems. When a development task lines up with the structure of the system, the tools in these environments do a great job of supporting developers in their work. Unfortunately, many development tasks do not have this characteristic. Instead, they involve changes that are scattered across the source code and various other kinds of artifacts, including bug reports and documentation. Today’s development environments provide little support for working with scattered pieces of a system, and as a result, are not adequately supporting the ways in which developers work on the system. Fortunately, many development tasks do have a structure. This structure emerges from a developer’s actions when changing the system. In this paper, we describe how the structure of many tasks crosscuts system artifacts, and how by capturing that structure, we can make it as easy for developers to work on changes scattered across the system’s structure as it is to work on changes that line up with the system’s structure.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chu-Carroll, M., Wright, J.: Supporting distributed collaboration through multidimensional software configuration management. In: Westfechtel, B., van der Hoek, A. (eds.) SCM 2001 and SCM 2003. LNCS, vol. 2649, pp. 40–53. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  2. Chu-Carroll, M.C., Sprenkle, S.: Coven: Brewing better collaboration through software configuration management. In: SIGSOFT 2000/FSE-8: Proc. of the 8th ACM SIGSOFT Int’l Symp. on Foundations of Software Engineering, pp. 88–97. ACM Press, New York (2000)

    Google Scholar 

  3. Čubranić, D., Murphy, G.C.: Hipikat: Recommending pertinent software development artifacts. In: ICSE 2003: Proc. of the 25th Int’l Conf. on Software Engineering, pp. 408–418. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  4. Čubranić, D., Murphy, G.C., Singer, J., Booth, K.S.: Learning from project history: a case study for software development. In: CSCW 2004: Proc. of the 2004 ACM Conf. on Computer Supported Cooperative Work, pp. 82–91. ACM Press, New York (2004)

    Google Scholar 

  5. Dragunov, A.N., Dietterich, T.G., Johnsrude, K., McLaughlin, M., Li, L., Herlocker, J.L.: TaskTracer: A desktop environment to support multi-tasking knowledge workers. In: IUI 2005: Proc. of the 10th Int’l Conf. on Intelligent User Interfaces, pp. 75–82. ACM Press, New York (2005)

    Chapter  Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  7. Greenberg, S., Witten, I.H.: Adaptive personalized interfaces – a question of viability. Behaviour and Information Technology - BIT 4, 31–45 (1985)

    Article  Google Scholar 

  8. Habermann, A.N., Notkin, D.: Gandalf: software development environments. IEEE Trans. Software Engineering 12(12), 1117–1127 (1986)

    Google Scholar 

  9. Heer, J., Card, S.K., Landay, J.A.: prefuse: a toolkit for interactive information visualization. In: CHI 2005: Proc. of the SIGCHI Conf. on Human Factors in Computing Systems, pp. 421–430. ACM Press, New York (2005)

    Chapter  Google Scholar 

  10. Kersten, M., Murphy, G.C.: Mylar: a degree-of-interest model for IDEs. In: AOSD 2005: Proc. of the 4th Int’l Conf. on Aspect-oriented Software Development, pp. 159–168 (2005)

    Google Scholar 

  11. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Masuhara, H., Kiczales, G.: Modular crosscutting in aspect-oriented mechanisms. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 2–28. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  13. Mockus, A., Fielding, R.T., Herbsleb, J.: Two case studies of open source software development: Apache and Mozilla. ACM Trans. Software Engineering Methodology 11(3), 309–346 (2002)

    Article  Google Scholar 

  14. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  15. Perry, D.E., Staudenmayer, N., Votta, L.G.: People, organizations, and process improvement. IEEE Software 11(4), 36–45 (1994)

    Article  Google Scholar 

  16. Quitslund, P.J.: Beyond files: programming with multiple source views. In: Eclipse 2003: Proc. of the 2003 OOPSLA Workshop on Eclipse Technology eXchange, pp. 6–9. ACM Press, New York (2003)

    Chapter  Google Scholar 

  17. Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: SIGSOFT ’04/FSE-12: Proc. of the 12th ACM SIGSOFT Int’l Symp. on Foundations of Software Engineering, pp. 147–158. ACM Press, New York (2004)

    Chapter  Google Scholar 

  18. Robillard, M.P.: Representing Concerns in Source Code. PhD thesis, University of British Columbia (2003)

    Google Scholar 

  19. Robillard, M.P., Coelho, W., Murphy, G.C.: How effective developers investigate source code: An exploratory study. IEEE Trans. Software Engineering 30(12), 889–903 (2004)

    Article  Google Scholar 

  20. Robillard, M.P., Murphy, G.C.: Concern graphs: Finding and describing concerns using structural program dependencies. In: ICSE 2002: Proc. of the 24th Int’l Conf. on Software Engineering, pp. 406–416. ACM Press, New York (2002)

    Chapter  Google Scholar 

  21. Robillard, M.P., Murphy, G.C.: Automatically inferring concern code from program investigation activities. In: ASE 2003: Proc. of the 18th Int’l Conf. on Automated Software Engineering, pp. 225–234. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  22. Robillard, M.P., Murphy, G.C.: Program navigation analysis to support task-aware software development environments. In: Proc. of the ICSE Workshop on Directions in Software Engineering Environments, pp. 83–88. IEE (2004)

    Google Scholar 

  23. Sarma, A., Noroozi, Z., van der Hoek, A.: Palantr: Raising awareness among configuration management workspaces. In: ICSE 2003: Proc. of the 25th Int’l Conf. on Software Engineering, pp. 444–454. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  24. Storey, M.-A.D., Čubranić, D., German, D.M.: On the use of visualization to support awareness of human activities in software development: A survey and a framework. In: SoftVis 2005: Proc. of the 2005 ACM Symp. on Software Visualization, pp. 193–202. ACM Press, New York (2005)

    Chapter  Google Scholar 

  25. Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N degrees of separation: Multi-dimensional separation of concerns. In: ICSE 1999: Proc. of the 21st Int’l Conf. on Software Engineering, pp. 107–119. IEEE Computer Society Press, Los Alamitos (1999)

    Chapter  Google Scholar 

  26. Woods, D., Patterson, E., Roth, E.: Can we ever escape from data overload? A cognitive system diagnosis. Cognition, Technology & Work 4(1), 22–36 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Murphy, G.C., Kersten, M., Robillard, M.P., Čubranić, D. (2005). The Emergent Structure of Development Tasks. In: Black, A.P. (eds) ECOOP 2005 - Object-Oriented Programming. ECOOP 2005. Lecture Notes in Computer Science, vol 3586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11531142_2

Download citation

  • DOI: https://doi.org/10.1007/11531142_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27992-1

  • Online ISBN: 978-3-540-31725-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics