Обнаружение неточных повторов в документации программного обеспечения

 
Код статьиS013234740001215-1-1
DOI10.31857/S013234740001215-1
Тип публикации Статья
Статус публикации Опубликовано
Авторы
Аффилиация: Санкт-Петербургский государственный университет
Адрес: Российская Федерация
Аффилиация: Санкт-Петербургский государственный университет
Адрес: Российская Федерация
Аффилиация: Санкт-Петербургский государственный университет
Адрес: Российская Федерация
Аффилиация: Санкт-Петербургский государственный университет
Адрес: Российская Федерация
Аффилиация: Санкт-Петербургский государственный университет
Адрес: Российская Федерация
Аффилиация: Санкт-Петербургский государственный университет
Адрес: Российская Федерация
Название журналаПрограммирование
ВыпускВыпуск 5
Страницы57-67
Аннотация

Документация современного программного обеспечения столь же сложна, как и само программное обеспечение. Велики объёмы документации, имеется значительное количество сложных связей документации внутри себя, а также с другими артефактами разработки, непрост и трудоёмок процесс сопровождения документации. В течение жизненного цикла в документах образуется множество неточных повторов, т.е. фрагментов текста, скопированных из одного источника и впоследствии по-разному модифицированных. Такие дубликаты снижают качество документации и затрудняют её дальнейшее использование. В то же время вручную неточные повторы трудно обнаружить. В статье даётся формальное определение неточных повторов и предлагается алгоритм их обнаружения. Алгоритм основан на поиске клонов в программном обеспечении. Представлено формальное обоснование корректности алгоритма. Описаны результаты апробации алгоритма на документации 19 открытых и коммерческих программных проектов. Выполнен анализ обнаруженных неточных повторов для документации ядра ОС Linux. 

Ключевые словадокументация программного обеспечения, неточные повторы, повторное использование документации, клоны в программном обеспечении
Источник финансированияРабота частично поддержана РФФИ, грант № 16-01-00304.
Дата публикации28.10.2018
Кол-во символов1037
Цитировать   Скачать pdf Для скачивания PDF необходимо авторизоваться
Размещенный ниже текст является ознакомительной версией и может не соответствовать печатной.

всего просмотров: 1040

Оценка читателей: голосов 0

1. Parnas, D.L. Precise documentation: The key to better software, The Future of Software Engineering, Berlin, Heidelberg: Springer-Verlag, 2011, pp. 125Ц148.

2. Juergens, E., Deissenboeck, F., Feilkas, M., Hummel, B., Schaetz, B., Wagner, S., Domann, C., and Streit, J. Can clone detection support quality assessments of requirements specifications? Proceedings of the 32 ACM/IEEE International Conference on Software Engineering (ICSEТ10), New York, NY, USA: ACM, 2010, vol. 2, pp. 79Ц88.

3. NosalТ, M. Preliminary report on empirical study of repeated fragments in internal documentation, Proceedings of Federated Conference on Computer Science and Information Systems, 2016, pp. 1573Ц1576.

4.  ознов ƒ.¬., –омановский  .ё. DocLine: метод разработки документации семейства программных продуктов // ѕрограммирование. 2008. “. 34. є 4. —. 1Ц13.

5. Romanovsky, K., Koznov, D., and Minchin, L. Refactoring the documentation of software product lines, Lecture Notes in Compute Science, Berlin, Heidelberg: Springer-Verlag, 2011, vol. 4980 of CEE-SET 2008, pp. 158Ц170.

6. Wingkvist, A., Lowe, W., Ericsson, M., and Lincke, R. Analysis and visualization of information quality of technical documentation, Proceedings of the 4th European Conference on Information Management and Evaluation, 2010, pp. 388Ц396.

7. Koznov, D., Luciv, D., Basit, H.A., Lieh, O.E., and Smirnov, M. Clone detection in reuse of software technical documentation, International Andrei Ershov Memorial Conference on Perspectives of System Informatics, 2015, Springer Nature, 2016, vol. 9609 of Lecture Notes in Computer Science, pp. 170Ц185.

8. Ћуцив ƒ.¬. «адача поиска нечЄтких повторов при организации повторного использовани¤ документации / ƒ.¬. Ћуцив, ƒ.¬.  ознов, ’.ј. Ѕасит, ј.Ќ. “ерехов // ѕрограммирование. 2016. “. 42. є 4. —. 39Ц49.

9. Basit, H.A. Efficient Token Based Clone Detection with Flexible Tokenization / H.A. Basit, S.J. Puglisi, W.F. Smyth et al, Proceedings of the 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers. New York, NY, USA: ACM, 2007, pp. 513Ц516.

10. Bassett, P.G. Framing software reuse: Lessons from the real World, Upper Saddle River, NJ, USA: Prentice-Hall, 1997.

11. Documentation Refactoring Toolkit. http://www. math.spbu.ru/user/kromanovsky/docline/ /index_en. html.

12. Torvalds, L. Linux Kernel Documentation, Dec 2013 snapshot. https://github.com/torvalds/linux/ /tree/ master/Documentation/DocBook/. 13. Horie, M. and Chiba, S. Tool support for

13. crosscutting concerns of API documentation, Proceedings of the 9th International Conference on Aspect-Oriented Software Development, New York, NY, USA: ACM, 2010, pp. 97Ц108.

14. Nos?alТ, M. Reusable software documentation with phrase annotations, Central Europ. J. Comput. Sci., 2014, vol. 4, no. 4, pp. 242Ц258.

15. Oumaziz, M.A., Charpentier, A., Falleri, J.-R., and Blanc, X. Documentation reuse: Hot or not? An empirical study, Mastering Scale and Complexity in Software Reuse: 16th International Conference on Software Reuse, ICSR 2017, Salvador, Brazil, 2017, Proceedings, Botterweck, G. and Werner, C., Eds., Cham: Springer-Verlag, 2017, pp. 12Ц27.

16. Rago, A., Marcos, C., and Diaz-Pace, J.A. Identifying duplicate functionality in textual use cases by aligning semantic actions, Software Syst. Model., 2016, vol. 15, no. 2, pp. 579Ц603.

17. Huang, T.-K., Rahman, Md.S., Madhyastha, H.V., Faloutsos, M., and Ribeiro, B. An analysis of socware cascades in online social networks, Proceedings of the 22Nd International Conference on World Wide Web, New York, NY, USA: ACM, 2013, pp. 619Ц630.

18. Williams, K. and Giles, C.L. Near duplicate detection in an Academic Digital Library, Proceedings of the ACM Symposium on Document Engineering, New York, NY, USA: ACM, 2013, pp. 91Ц94.

19. Zhang, Q., Zhang Yu., Yu, H., and Huang, X. Efficient partial-duplicate detection based on sequence matching, Proceedings of the 33rd International ACM SIGIR Conference on Research and Development in Information Retrieval, New York, NY, USA: ACM, 2010, pp. 675Ц682.

20. Abdel Hamid, O., Behzadi, B., Christoph, S., and Henzinger, M. Detecting the origin of text segments efficiently, Proceedings of the 18th International Conference on World Wide Web, New York, NY, USA: ACM, 2009, pp. 61Ц70.

21. Ramaswamy, L., Iyengar, A., Liu, L., and Douglis, F. Automatic detection of fragments in dynamically generated web pages, Proceedings of the 13th International Conference on World Wide Web, New York, NY, USA: ACM, 2004, pp. 443Ц454.

22. Gibson, D., Punera, K., and Tomkins, A. The volume and evolution of web page templates, Special Interest Tracks and Posters of the 14th International Conference on World Wide Web, New York, NY, USA: ACM, 2005, pp. 830Ц839.

23. Valles, E. and Rosso, P. Detection of nearduplicate user generated contents: The SMS spam collection, Proceedings of the 3rd International Workshop on Search and Mining User-generated Contents, New York, NY, USA: ACM, 2011, pp. 27Ц34.

24. Barron-Cede?no, A., Vila, M., Marti, M., and Rosso, P. Plagiarism meets paraphrasing: Insights for the next generation in automatic plagiarism detection, Comput. Linguist., 2013, vol. 39, no. 4, pp. 917Ц947.

25. Antiplagiarism (in Russian). https://www.antiplagiat.ru/. Accessed January 16, 2018.

26. Sajnani, H., Saini, V., Svajlenko, J., Roy, C.K., and Lopes, C.V. SourcererCC: Scaling code clone detection to big-code, Proceedings of the 38th International Conference on Software Engineering, New York, NY, USA: ACM, 2016, pp. 1157Ц1168.

27. Jiang, L., Misherghi, G., Su, Z., and Glondu, S. DECKARD: Scalable and accurate tree-based detection of code clones, Proceedings of the 29th International Conference on Software Engineering, Washington, DC, USA: IEEE Computer Soc., 2007, pp. 96Ц105.

28. Cordy, J.R. and Roy, C.K. The NiCad clone detector, in Proceedings of IEEE 19th International Conference on Program Comprehension, 2011, pp. 219Ц220.

29. Akhin, M. and Itsykson, V. Tree slicing in clone detection: Syntactic analysis made (semi)-semantic (in Russian), Model. Anal. Inform. Syst., 2012, vol. 19, no. 6, pp. 69Ц78.

30. Zeltser, N.G. Automatic clone detection for refactoring, Proc. Inst. Syst. Program., 2013, vol. 25, pp. 39Ц50.

31. Wagner, S. and Fern???ndez, D.M. Analyzing text in software projects, The Art and Science of Analyzing Software Data, Elsevier, 2015, pp. 39Ц72.

32. Korshunov, A. and Gomzin, A. Topic modeling in natural language texts (in Russian), Proc. Inst. Syst. Program., 2012, vol. 23, pp. 21Ц242.

33. Tomita-parser Ч Yandex Technologies (in Russian). https://tech.yandex.ru/tomita/. Accessed January 16, 2018.

34. Rattan, D., Bhatia, R., and Singh, M. Software clone detection: A systematic review, Inform. Software Technol., 2013, vol. 55, no. 7, pp. 1165Ц1199.

35. Abouelhoda, M.I., Kurtz, S., and Ohlebusch, E. Replacing suffix trees with enhanced suffix arrays, J. Discrete Algorithms, 2004, vol. 2, no. 1, pp. 53Ц86.

36. Bassett, P.G. The theory and practice of adaptive reuse, SIGSOFT Software Eng. Notes, 1997, vol. 22, no. 3, pp. 2Ц9.

37. De Berg, M., Cheong, O., van Kreveld, M., and Overmars, M. Computational Geometry, Berlin Heidelberg: Springer-Verlag, 2008, pp. 220Ц226.

38. Preparata, F.P. and Shamos, M.I. Computational Geometry: An Introduction, Berlin: Springer- Verlag, 1985, pp. 359Ц363.

39. PyIntervalTree. https://github.com/chaimleib/ /intervaltree.

40. Kolchin, A.V., Kotljarov, V.P., and Drobincev, P.D. The method of test scenariogeneration in the environment of the insertion modeling, Control Syst. Mach., 2012, no. 6, pp. 43Ц48. 41. Pakulin, N.V. and Tugaenko, A.N. Model-based testing of Internet Mail Protocols, Proc. Inst. Syst. Program., 2011, vol. 20, pp. 125Ц141.

41. Kudryavtsev, D. and Gavrilova T. Diagrammatic knowledge modeling for managers: Ontologybased approach, Proceedings of the International Conference on Knowledge Engineering and Ontology Development, 2011, pp. 386Ц389.

Система Orphus

Загрузка...
Вверх