skip to main content
10.1145/2970276.2970323acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Identifying domain elements from textual specifications

Published:25 August 2016Publication History

ABSTRACT

Analysis modeling refers to the task of identifying domain objects, their attributes and operations, and the relationships between these objects from software requirements specifications which are usually written in some natural language. There have been a few efforts to automate this task, but they seem to be largely constrained by the language related issues as well as the lack of a systematic transformation process. In this paper, we propose a systematic, automated transformation approach which first interprets the specification sentences based on the Hornby's verb patterns, and then uses semantic relationships between the words in the sentences, obtained from Type Dependencies using Stanford NL Parser, to identify the domain elements from them. With the help of a controlled experiment, we show that the analysis class diagrams generated by the proposed approach are far more correct, far more complete and less redundant than those generated by the exiting automated approaches.

References

  1. T. Arendt and G. Taentzer. UML model smells and model refactorings in early software development phases. Universitat Marburg, 2010.Google ScholarGoogle Scholar
  2. E. Arisholm, L. C. Briand, S. E. Hove, and Y. Labiche. The impact of UML documentation on software maintenance: An experimental evaluation. Software Engineering, IEEE Transactions on, 32(6):365–381, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Arisholm and D. I. Sjoberg. Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. Software Engineering, IEEE Transactions on, 30(8):521–534, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Booch, R. A. Maksimchuk, M. W. Engle, B. Young, J. Conallen, and K. Houston. Object Oriented Analysis & Design with Application 3rd Edition. Pearson Education India, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Bruegge and A. A. Dutoit. Object-oriented software engineering; conquering complex and changing systems. Prentice Hall PTR, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. M. Cer, M.-C. De Marneffe, D. Jurafsky, and C. D. Manning. Parsing to stanford dependencies: Trade-offs between speed and accuracy. In LREC, 2010.Google ScholarGoogle Scholar
  7. K. Cox. Heuristics for use case descriptions. PhD thesis, Bournemouth University, 2002.Google ScholarGoogle Scholar
  8. M.-C. De Marneffe and C. D. Manning. The stanford typed dependencies representation. In Coling 2008: Proceedings of the workshop on Cross-Framework and Cross-Domain Parser Evaluation, pages 1–8. Association for Computational Linguistics, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. K. Deeptimahanti and R. Sanyal. Semi-automatic generation of UML models from natural language requirements. In Proceedings of the 4th India Software Engineering Conference, pages 165–174. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Eastwood. Oxford guide to English grammar. Oxford University Press, 1994.Google ScholarGoogle Scholar
  11. F. Fabbrini, M. Fusani, S. Gnesi, and G. Lami. The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool. In Software Engineering Workshop, 2001. Proceedings. 26th Annual NASA Goddard, pages 97–105. IEEE, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Gomaa. Software modeling and design: UML, use cases, patterns, and software architectures. Cambridge University Press, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Harmain and R. Gaizauskas. Cm-builder: A natural language-based case tool for object-oriented analysis. Automated Software Engineering, 10(2):157–181, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. W. Holt, D. A. Boehm-Davis, and A. C. Shultz. Mental representations of programs for student and professional programmers. In Empirical studies of programmers: Second workshop, pages 33–46. Ablex Publishing Corp., 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. S. Hornby, A. P. Cowie, and J. W. Lewis. Oxford advanced learner’s dictionary of current English, volume 4. Oxford University Press, 1974.Google ScholarGoogle Scholar
  16. M. Host, B. Regnell, and C. Wohlin. Using students as subjects - a comparative study of students and professionals in lead-time impact assessment. Empirical Software Engineering, 5(3):201–214, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Ilieva and O. Ormandjieva. Models derived from automatically analyzed textual user requirements. In Software Engineering Research, Management and Applications, 2006. Fourth International Conference on, pages 13–21. IEEE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. I. Jacobson. Object-oriented software engineering: a use case driven approach. Pearson Education India, 1992. Google ScholarGoogle Scholar
  19. E. Kamsties and B. Peach. Taming ambiguity in natural language requirements. In Proceedings of the Thirteenth International Conference on Software and Systems Engineering and Applications, 2000.Google ScholarGoogle Scholar
  20. H. Lee, Y. Peirsman, A. Chang, N. Chambers, M. Surdeanu, and D. Jurafsky. Stanford’s multi-pass sieve coreference resolution system at the conll-2011 shared task. In Proceedings of the Fifteenth Conference on Computational Natural Language Learning: Shared Task, pages 28–34. Association for Computational Linguistics, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Liu, K. Subramaniam, A. Eberlein, and B. H. Far. Natural language requirements analysis and class model generation using ucda. In Innovations in Applied Artificial Intelligence, pages 295–304. Springer, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. D. Manning. Part-of-speech tagging from 97% to 100%: is it time for some linguistics? In Computational Linguistics and Intelligent Text Processing, pages 171– 189. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. McClosky, E. Charniak, and M. Johnson. Effective self-training for parsing. In Proceedings of the main conference on human language technology conference of the North American Chapter of the Association of Computational Linguistics, pages 152–159. Association for Computational Linguistics, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Misra and S. Das. Entity disambiguation in natural language text requirements. In Software Engineering Conference (APSEC, 2013 20th Asia-Pacific, volume 1, pages 239–246. IEEE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Mohagheghi, V. Dehlen, and T. Neple. Definitions and approaches to model quality in model-based software development–a review of literature. Information and Software Technology, 51(12):1646–1669, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Nuseibeh, S. Easterbrook, and A. Russo. Making inconsistency respectable in software development. Journal of Systems and Software, 58(2):171–180, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  27. M. O’Docherty. Object-Oriented Analysis and Design Understanding System Development with UML 2.0. John Wiley & Sons Ltd, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. P. Overmyer, B. Lavoie, and O. Rambow. Conceptual modeling through linguistic analysis using LIDA. In Proceedings of the 23rd international conference on Software engineering, pages 401–410. IEEE Computer Society, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. Popescu, S. Rugaber, N. Medvidovic, and D. M. Berry. Reducing ambiguities in requirements specifications via automatically created object-oriented models. In Innovations for Requirement Analysis. From Stakeholders’ Needs to Formal Designs, pages 103–124. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Porter and L. Votta. Comparing detection methods for software requirements inspections: A replication using professional subjects. Empirical software engineering, 3(4):355–379, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. P. Roberts. Patterns of English. Harcourt, Brace, 1956.Google ScholarGoogle Scholar
  32. D. Rosenberg and M. Stephens. Use case driven object modeling with UML. APress, Berkeley, USA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Rosenberg and M. Stephens. Use Case Driven Object Modeling with UML: Theory and Practice. Springer Science & Business, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. N. Samarasinghe and S. S. Somé. Generating a domain model from a use case model. In IASSE, page 278, 2005.Google ScholarGoogle Scholar
  35. D. I. Sjøberg, J. E. Hannay, O. Hansen, V. B. Kampenes, A. Karahasanovic, N.-K. Liborg, and A. C. Rekdal. A survey of controlled experiments in software engineering. Software Engineering, IEEE Transactions on, 31(9):733–753, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. S. Thakur and A. Gupta. Anmodeler - a tool for generating domain models from textual specifications. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. IEEE/ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. S. Thakur and A. Gupta. Automatic generation of analysis class diagrams from textual specifications. Technical report, Software Engineering Research Group, IIITDM Jabalpur, India, February 2016.Google ScholarGoogle Scholar
  38. S. Wehmeier and A. S. Hornby. Oxford advanced learner’s dictionary of current English. Cornelsen & Oxford, 2000.Google ScholarGoogle Scholar
  39. K. Wiegers and J. Beatty. Software requirements. Pearson Education, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. C. Wohlin, M. Höst, and K. Henningsson. Empirical research methods in software engineering. In Empirical Methods and Studies in Software Engineering, pages 7– 23. Springer, 2003.Google ScholarGoogle Scholar
  41. C. Wohlin, P. Runeson, M. Hst, M. C. Ohlsson, B. Regnell, and A. Wessln. Experimentation in software engineering. Springer Publishing Company, Incorporated, 2012. Google ScholarGoogle ScholarCross RefCross Ref
  42. H. Yang, A. De Roeck, V. Gervasi, A. Willis, and B. Nuseibeh. Extending nocuous ambiguity analysis for anaphora in natural language requirements. In Requirements Engineering Conference (RE), 2010 18th IEEE International, pages 25–34. IEEE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. T. Yue, L. Briand, and Y. Labiche. Automatically deriving a UML analysis model from a use case model. Technical Report 2010-15 (Version 2), Simula Research Laboratory, January 2013.Google ScholarGoogle Scholar
  44. T. Yue, L. C. Briand, and Y. Labiche. Facilitating the transition from use case models to analysis models: Approach and experiments. ACM Transactions on Software Engineering and Methodology (TOSEM), 22(1):5, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. T. Yue, L. C. Briand, and Y. Labiche. atoucan: An automated framework to derive UML analysis models from use case models. ACM Transactions on Software Engineering and Methodology (TOSEM), 24(3):13, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Identifying domain elements from textual specifications

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader