The referred generality also explains why we do
not just apply existing tools – e.g. parsers and their
components – for existing specific languages, even
if they are of the highest possible quality.
An important infra-structure feature needed for
generality is to keep well-separated generic features
common to various programming languages of a
given family, from those features specific to a given
language.
An example of an alternative approach to
documentation and translation is the specific use of
Wiki tools – see e.g. (Krotzsch et al., 2007), (Yagel,
2015). Despite the fact that Wiki tools have a broad
enough usage, they still represent a kind of
restriction to our proposed generality.
7.3 Future Work
In order to increase confidence in the PL-to-NL
Translator it would be necessary to perform more
extensive tests, including additional programming
languages, perhaps from different families.
In principle this approach could be extended to
operating systems – such as scripting languages
found in UNIX or LINUX versions – and effectively
to any kind of software tools with languages that
may justify the investment in a Translator tool.
The system described in this paper was primarily
motivated by its usefulness for an experienced
programmer that has some local difficulties with a
new language. It was neither intended to systematic
comprehensive learning of a whole new language,
nor to deal with whole long programs. This is not to
say that the approach cannot be extended to these
other goals. Specifically referring to whole
programs, at least the GUI (Graphical User
Interface) of the PL-to-NL Translator should be
adapted to facilitate dealing with long inputs, instead
of just small code fragments.
Finally, an investigation from the point of view
of users’ satisfaction should probably be performed.
7.4 Main Contribution
The main contribution of this work is the Relevance
& Reliability algorithm to find in the Internet the
sources to translate Programming Languages to
Natural Languages. Relevance & Reliability is the
basis for the generality and flexibility of our PL-to-
NL Translator approach.
ACKNOWLEDGEMENT
Olesia Shapira wishes to thank Itamar Sharify for his
help in originating the idea of the Programming
Language to Natural Language Translator.
REFERENCES
Brown, K., 2011. “Taking executable specs to the next
level: Executable Documentation”, Available from:
http://keithps.wordpress.com/2011/06/26/takingexecut
able-specs-to-the-next-level-executabledocumentation/
Cass, S., 2015. “The 2015 Top Ten Programming
Languages”, IEEE Spectrum, available from site:
http://www.csee.umbc.edu/courses/undergraduate/202/fall
15_marron/lectures/l01/the_2015_top_ten_programmi
ng_languages.pdf
cdecl, 2016. An interactive tool to translate “C” to
English. Web site: http://cdecl.org/
Corney, M., Fitzgerald, S., Hanks, B., Lister, R.,
McCauley, R. and Murphy, L., 2014. “‘Explain in
Plain English’ Questions Revisited: Data Structures
Problems”, in SICCSE’14 Proc. of 45
th
ACM
Technical Symposium on Computer Science
Education, pp. 591-596, ACM. Web site:
http://eprints.qut.edu.au/68093/. DOI:
http://doi.acm.org/10.1145/2538862.2538911
Exman, I. and Iskusnov, D., 2014. “Apogee: Application
Ontology Generation from Domain Ontologies”, in
SKY’2014, Proc. 5
th
International Workshop on
Software Knowledge, pp. 31-42. DOI:
10.5220/0005181000310042.
Exman, I. and Iskusnov, D., 2015. “Apogee: Application
Ontology Generation with Size Optimization”, in
Knowledge Discovery, Knowledge Engineering and
Knowledge Management, Vol. 553, CCIS, pp. 477-
492, Springer-Verlag, . DOI: 10.1007/978-3-319-
25840-9_29.
Exman, I. and Plebe, A., 2015. “Software, Is it Poetry or
Prose? Conceptual Content at the Higher Abstraction
Levels”, in SKY’2015 Proc. 6
th
International
Workshop on Software Knowledge, pp. 9-17. DOI:
10.5220/0005625500050013.
Hansen, M., Goldstone, R.L. and Lumsdaine, A., 2013.
“What Makes Code Hard to Understand?”, Web site:
http://arxiv.org/pdf/1304.5257.pdf
Krotzsch M., Vrandecic D., Volkel M., Haller H., Studer
R., 2007. Semantic Wikipedia. In Journal of Web
Semantics 5/2007, pp. 251–261. Elsevier.
Martraire C., 2016. Living Documentation - A low-effort
approach of Documentation that is always up-to-
date,inspired by Domain-Driven Design. Leanpub
(expected). http://leanpub.com/livingdocumentation.
Nilsson, J., Lowe, W., Hall, J. and Nivre, J., 2009.
“Parsing Formal Languages using Natural Language
Parsing Techniques”, in IWPT Proc. 11
th
Int. Conf. on
Fast and Reliable Software Translation of Programming Languages to Natural Language
63