MoMIT: Porting a JavaScript Interpreter on a Quarter Coin. Morales, R., Saborido, R., & Gu�h�neuc, Y. Transactions on Software Engineering (TSE), 47(12):2771–2785, IEEE CS Press, January, 2020. 15 pages.Paper abstract bibtex 6 downloads The Internet of Things (IoT) is a network of physical, connected devices providing services through private networks and the Internet. The devices connect through the Internet to Web servers and other devices. One of the popular programming languages for communicating Web pages and Web apps is JavaScript (JS). Hence, the devices would benefit from JS apps. However, porting JS apps to the many IoT devices, e.g., System-on-a-Chip (SoCs) devices (e.g., Arduino Uno), is challenging because of their limited memory, storage, and CPU capabilities. Also, some devices may lack hardware/software capabilities for running JS apps "as is". Thus, we propose MoMIT, a multiobjective optimization approach to miniaturize JS apps to run on IoT devices. We implement MoMIT using three different search algorithms. We miniaturize a JS interpreter and measure the characteristics of 23 apps before/after applying MoMIT. We find reductions of code size, memory usage, and CPU time of 31%, 56%, and 36%, respectively (medians). We show that MoMIT allows apps to run on up to two additional devices in comparison to the original JS interpreter.
@ARTICLE{Morales20-TSE-MoMITQuarterCoin,
AUTHOR = {Rodrigo Morales and Rub�n Saborido and
Yann-Ga�l Gu�h�neuc},
JOURNAL = {Transactions on Software Engineering (TSE)},
TITLE = {MoMIT: Porting a JavaScript Interpreter on a Quarter
Coin},
YEAR = {2020},
MONTH = {January},
NOTE = {15 pages.},
NUMBER = {12},
PAGES = {2771--2785},
VOLUME = {47},
EDITOR = {Sebastian Uchitel},
KEYWORDS = {Topic: <b>ESE for the IoT</b>,
Topic: <b>Requirements and features</b>, Venue: <b>TSE</b>},
PUBLISHER = {IEEE CS Press},
URL = {http://www.ptidej.net/publications/documents/TSE20.doc.pdf},
ABSTRACT = {The Internet of Things (IoT) is a network of physical,
connected devices providing services through private networks and the
Internet. The devices connect through the Internet to Web servers and
other devices. One of the popular programming languages for
communicating Web pages and Web apps is JavaScript (JS). Hence, the
devices would benefit from JS apps. However, porting JS apps to the
many IoT devices, e.g., System-on-a-Chip (SoCs) devices (e.g.,
Arduino Uno), is challenging because of their limited memory,
storage, and CPU capabilities. Also, some devices may lack
hardware/software capabilities for running JS apps "as is". Thus, we
propose MoMIT, a multiobjective optimization approach to miniaturize
JS apps to run on IoT devices. We implement MoMIT using three
different search algorithms. We miniaturize a JS interpreter and
measure the characteristics of 23 apps before/after applying MoMIT.
We find reductions of code size, memory usage, and CPU time of 31%,
56%, and 36%, respectively (medians). We show that MoMIT allows apps
to run on up to two additional devices in comparison to the original
JS interpreter.}
}
Downloads: 6
{"_id":"TbENs7J7XdqTSe3oa","bibbaseid":"morales-saborido-guhneuc-momitportingajavascriptinterpreteronaquartercoin-2020","authorIDs":["2bamEBdSsABSfdNPC","2gKMxGsDCmtqm2CMs","2md8enXabjJK6xv4A","33tjzzqSXaKLNhkCv","3K89qQQ2ttTAfiGhM","3farKHmTShpCbzRJN","4GnmEaeTMN2vhw5yP","4SXEoQ4KP7mBwno5d","4d6jCPfpbb5sb6db5","5LAyFXFcfa2WSXxmX","5XYYrLB5Xs67ZEGPv","5e2ef720e374eede0100002a","5e2efe77e374eede010000e7","5e2fa11ba21e47de01000023","5e31d419bba4d0de01000073","5e32cf1f150c84df01000016","5e3850e6ccda85de0100007e","5e3a7776b291e7df0100010d","5e3b3345255dcade01000101","5e3c736a67788ede01000169","5e3cc120948886de010000a3","5e3d85c096e576de01000143","5e3f35167da304de010000f7","5e3f42cb77baf5df0100007b","5e427a18e4402ade0100013b","5e45407d605639de01000145","5e4542f4a96575df0100001d","5e45c2140920e8de01000133","5e48c241f1ed39de01000098","5e4c4eb8271596df0100004b","5e50c796e3d144df01000099","5e554e87e89e5fde01000024","5e5d89400b73f6de0100021f","5e5f7f725766d9df01000187","5e5f804e5766d9df01000197","5e6025afc064fcde010002ab","5e63c94874499adf01000132","5e66ad4e4b4a62de01000058","5e68273ddfcfe3de01000267","5e6b33460c3ca1de01000072","7BE2FWcn9r7vLtCYF","7JMYizQazZrcxZnQy","7SYW8s8WkEBn6Hpex","7W7pNpTc6zrKfzHTX","7WMWDLbDmPpe8BBvX","7iM6Rik9oSaYWBJM4","8NWHwdCwS7pRR3wGT","9boKCFW3Wo7ZF7wck","AWmeeXxXtpQzQB2Ry","C97htpMwiA3qkBoNy","D7auaEbJCxhd2oPif","DcpQyPfcYZiMQnNeD","DnkCFKnoBYhdPqQ76","ENAczi5beWNb5ZBzq","EPaBLABEyrbruGjpa","FBD5gcZftYWdhbf6J","FGdBtYXSdyQYR9Spq","FWEq468T8CehtiArw","FwSdPD8znnGNHuHWp","FyQSF5CQAcHMSbkXr","G4SKtYnkjXgYmQStb","G5cfABE3RvM4bQEQD","GLsMygDxSXD3BhWeF","HgZxjJMcGFC4WfWBX","HnriKgkvMuKgThusr","J3Ahs2gxuomrs5QCH","J5fYdAWKBraaQgcAC","JS6iidupnAYzTTGyr","JnbYgALRMkeNBZhQM","K6yH5GK6hTFtDsuc4","KddbJMbmdPPws74yJ","Kr9jJJ8nTjFpeEjaL","Kz8FyHu9PqKowpPCT","L6g6mEFcoZof2rNfz","LPbS2ZtDi8pqXuPpr","LavMfxhtdoiq392ou","Lg7T4j4uWnAu83thQ","LyFuJfWfWJHtpDPA3","NBukaYdePPxJ3kCfT","Nvj9wZnqS2TJxrAn6","PH3vk8f45sjxsupEA","Pduv6SLbCpSxbbu7o","PtDqmE4nzZ7Wsect9","QHPQYvymfGPXLKnnQ","QJ5Dmn3p7TkpEpp8o","QoWQ7mvHQryH9yWvA","Qw6qeicbgJ6KzmWHA","S44YiQ3WTukt8iaiQ","SLod4shpecJfkbKcL","T4zS3WJtsMQwqRBkT","T58EbaWesyrfoSyxA","THLifBEk3AcaF4HaK","TeSK3HZkcyxBMu22u","Tv7JCBfimuTm2izsL","WTjkuaYWkma3RLovp","WhT4kqj4tXcpcw9mt","WjGDopochK55yMf2g","Wos6ax8AeQT9MkunH","XBwWoYbSdSjjbXPTL","XnEmHZHm47wBcTTgb","Xrq5PdfrESNzJZH3v","YL3jFefD6odRuCqdi","YWv9a4JFX2Muf9CiE","Yh8tdTmFugqDowTFH","Ykjs56wFrMDvSXBAX","YptChQhhemhoCXJZu","YsrW7u9R9t8c25RXb","ZK3DK9Pj6DLCjbrnz","ZbNfZCuZFgWjyPTdw","bjJHg4v2jG6f63iRg","cNMCYLTeXAzyZaF84","cp2jDCsDS2Wqpev6W","cxjimLuupSd5QHezc","eetS7WqnaRTaDJcQL","faEeQ8vsDcLgWFsGE","gBYix4WGvEQkTRvXi","gNxy86Wynxxap5d5i","gPFNx9GeShceFmfvX","hj6rgXwQrXZLwT9fT","hpkBdB9eKXxogPo8r","inWXBevLyLMqy7RXe","j3oBQtWm7Q6dnDu38","jAWEcLo8zY3vGPHMd","jNATzC8TnsQkHAefn","jcvHMSyiFYGFCYw4B","kQsHFmzM42tkBuhyb","kzhKavJLTruBMdSyK","mmYJqbGHHMW3ce7ct","nqBb82P6L36eCRg4z","ooPfDj8KYrpPE7qsp","p3fop4iji8Mzkd3u6","pGJ6MsAayvj5fFff4","pK9fAbANpXYQvKfsd","pr9xC5PzjGqx3TyP5","pzqzX5MTyQRXY7SFG","rRKcTSpQqDs4jsp5t","sDCfvH2oHp7yjrawQ","sQCukBfayF5hpwR4B","t6xhKmznfAuvvXE8Z","tXKGefNaghrXfPm8P","tozYvSXgJGmKj4QxF","tqnokeMyqJyQXzbKT","ug9qdrYmTWgxvzzkb","uiGjEv4gEqK8ymJJd","vMtvwjy4Yea8Qgcmr","vrsocA6EgkXRuhcCW","vuGbowNLZYdDfrN6d","w27PqWZvPDwx4CN5c","x6qZqz23KW3Kqc2eJ","xAQSFZnJhKRpZ87Qy","xL3WwpcuSBa7HzBzj","xw8oS62ABua3srdLt","y3eZs6B4NndLDQed5","y82vcQXKvJvTpMSes","yJQhMLZr2jSPZQGSJ","ySSF2oLXgFZnooJfL","zAjeg8isL2dJXLK52","zEhifApxCF7HMvsZf","zQXTpzTw5HNdLEe4S"],"author_short":["Morales, R.","Saborido, R.","Gu�h�neuc, Y."],"bibdata":{"bibtype":"article","type":"article","author":[{"firstnames":["Rodrigo"],"propositions":[],"lastnames":["Morales"],"suffixes":[]},{"firstnames":["Rub�n"],"propositions":[],"lastnames":["Saborido"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]}],"journal":"Transactions on Software Engineering (TSE)","title":"MoMIT: Porting a JavaScript Interpreter on a Quarter Coin","year":"2020","month":"January","note":"15 pages.","number":"12","pages":"2771–2785","volume":"47","editor":[{"firstnames":["Sebastian"],"propositions":[],"lastnames":["Uchitel"],"suffixes":[]}],"keywords":"Topic: <b>ESE for the IoT</b>, Topic: <b>Requirements and features</b>, Venue: <b>TSE</b>","publisher":"IEEE CS Press","url":"http://www.ptidej.net/publications/documents/TSE20.doc.pdf","abstract":"The Internet of Things (IoT) is a network of physical, connected devices providing services through private networks and the Internet. The devices connect through the Internet to Web servers and other devices. One of the popular programming languages for communicating Web pages and Web apps is JavaScript (JS). Hence, the devices would benefit from JS apps. However, porting JS apps to the many IoT devices, e.g., System-on-a-Chip (SoCs) devices (e.g., Arduino Uno), is challenging because of their limited memory, storage, and CPU capabilities. Also, some devices may lack hardware/software capabilities for running JS apps \"as is\". Thus, we propose MoMIT, a multiobjective optimization approach to miniaturize JS apps to run on IoT devices. We implement MoMIT using three different search algorithms. We miniaturize a JS interpreter and measure the characteristics of 23 apps before/after applying MoMIT. We find reductions of code size, memory usage, and CPU time of 31%, 56%, and 36%, respectively (medians). We show that MoMIT allows apps to run on up to two additional devices in comparison to the original JS interpreter.","bibtex":"@ARTICLE{Morales20-TSE-MoMITQuarterCoin,\r\n AUTHOR = {Rodrigo Morales and Rub�n Saborido and \r\n Yann-Ga�l Gu�h�neuc},\r\n JOURNAL = {Transactions on Software Engineering (TSE)},\r\n TITLE = {MoMIT: Porting a JavaScript Interpreter on a Quarter \r\n Coin},\r\n YEAR = {2020},\r\n MONTH = {January},\r\n NOTE = {15 pages.},\r\n NUMBER = {12},\r\n PAGES = {2771--2785},\r\n VOLUME = {47},\r\n EDITOR = {Sebastian Uchitel},\r\n KEYWORDS = {Topic: <b>ESE for the IoT</b>, \r\n Topic: <b>Requirements and features</b>, Venue: <b>TSE</b>},\r\n PUBLISHER = {IEEE CS Press},\r\n URL = {http://www.ptidej.net/publications/documents/TSE20.doc.pdf},\r\n ABSTRACT = {The Internet of Things (IoT) is a network of physical, \r\n connected devices providing services through private networks and the \r\n Internet. The devices connect through the Internet to Web servers and \r\n other devices. One of the popular programming languages for \r\n communicating Web pages and Web apps is JavaScript (JS). Hence, the \r\n devices would benefit from JS apps. However, porting JS apps to the \r\n many IoT devices, e.g., System-on-a-Chip (SoCs) devices (e.g., \r\n Arduino Uno), is challenging because of their limited memory, \r\n storage, and CPU capabilities. Also, some devices may lack \r\n hardware/software capabilities for running JS apps \"as is\". Thus, we \r\n propose MoMIT, a multiobjective optimization approach to miniaturize \r\n JS apps to run on IoT devices. We implement MoMIT using three \r\n different search algorithms. We miniaturize a JS interpreter and \r\n measure the characteristics of 23 apps before/after applying MoMIT. \r\n We find reductions of code size, memory usage, and CPU time of 31%, \r\n 56%, and 36%, respectively (medians). We show that MoMIT allows apps \r\n to run on up to two additional devices in comparison to the original \r\n JS interpreter.}\r\n}\r\n\r\n","author_short":["Morales, R.","Saborido, R.","Gu�h�neuc, Y."],"editor_short":["Uchitel, S."],"key":"Morales20-TSE-MoMITQuarterCoin","id":"Morales20-TSE-MoMITQuarterCoin","bibbaseid":"morales-saborido-guhneuc-momitportingajavascriptinterpreteronaquartercoin-2020","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/TSE20.doc.pdf"},"keyword":["Topic: <b>ESE for the IoT</b>","Topic: <b>Requirements and features</b>","Venue: <b>TSE</b>"],"metadata":{"authorlinks":{"morales, r":"https://www.ptidej.net/Members/moralesr"}},"downloads":6,"html":""},"bibtype":"article","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","creationDate":"2020-01-27T12:45:56.045Z","downloads":6,"keywords":["topic: <b>ese for the iot</b>","topic: <b>requirements and features</b>","venue: <b>tse</b>"],"search_terms":["momit","porting","javascript","interpreter","quarter","coin","morales","saborido","gu�h�neuc"],"title":"MoMIT: Porting a JavaScript Interpreter on a Quarter Coin","year":2020,"dataSources":["SnNYgSkXkvyAsckPN","8vn5MSGYWB4fAx9Z4"]}