{"title":"Searching for answers: an exploratory study of the formation, use, and impact of queries during debugging","authors":"Brian P. Eddy, Jonathan Corley","doi":"10.1145/2660252.2660392","DOIUrl":"https://doi.org/10.1145/2660252.2660392","url":null,"abstract":"This paper presents the results of an exploratory study investigating the formation, use, and impact of queries during debugging tasks. The results of this study provide additional evidence regarding the impact of query-based debuggers and can inform efforts that are focused on developing and improving query-based debuggers.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"149 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134211978","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"High-performance language interoperability in multi-language runtimes","authors":"Matthias Grimmer","doi":"10.1145/2660252.2660256","DOIUrl":"https://doi.org/10.1145/2660252.2660256","url":null,"abstract":"Programs often consist of parts that are written in different languages because sub-problems lend themselves to being implemented in a particular language. However, multi-language programs often suffer from poor performance, complex cross-language interfaces, or insufficient flexibility.\u0000 We propose a novel approach for composing multiple language implementations in a seamless way. Foreign objects of one language can be used like regular objects in another language. Our interoperability mechanism targets language implementations that run on the same VM and have the same style of intermediate representation (IR), e.g., an abstract syntax tree (AST). For accessing foreign objects we generate foreign-language-specific IR patterns that we insert into the IR of the host application.\u0000 Thus we avoid converting or marshalling foreign objects at the language border. Our mechanism also allows the just-in-time compiler of the host VM to inline and optimize across language borders.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132386458","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Detecting design similarity patterns using program execution traces","authors":"Kuldeep Kumar, S. Jarzabek","doi":"10.1145/2660252.2660397","DOIUrl":"https://doi.org/10.1145/2660252.2660397","url":null,"abstract":"This paper aims at detecting an important type of design similarity patterns, so-called collaborative patterns, that has not been addressed in the software clone research so far. Collaborative patterns appear as recurring configurations of collaborating components such as methods or classes. Knowing location of such patterns and exact differences among them is useful in program understanding, better change impact analysis, code compaction, software maintenance, and in reuse. In the proposed approach for detecting collaborative patterns, we instrument the subject program with extra code to generate method execution traces. Then, we analyze generated traces to find collaborative patterns. Preliminary investigation has also been done to validate the proposed approach.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121868170","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Taming the dynamic behavior of JavaScript","authors":"Shiyi Wei, B. Ryder","doi":"10.1145/2660252.2660393","DOIUrl":"https://doi.org/10.1145/2660252.2660393","url":null,"abstract":"JavaScript is widely used in Web applications because of its flexibility and dynamic characteristics. However, the latter (e.g., runtime code generation and dynamic object behavior) pose challenges for program understanding, security, etc. We have designed the JavaScript Blended Analysis Framework, a program analysis framework that combines dynamic and static analyses. JSBAF expands the capability of static analysis for the dynamically generated code and variadic functions. We also present a novel context-sensitive points-to analysis that more precisely models JavaScript objects. Empirical results on popular JavaScript websites show that our analyses are substantially more accurate than existing approaches.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124940498","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Diagnosing degenerate forms in software","authors":"Brian S. Dillon","doi":"10.1145/2660252.2660255","DOIUrl":"https://doi.org/10.1145/2660252.2660255","url":null,"abstract":"The degeneration of source code due to maintenance is a long known but little understood phenomenon. Currently, researchers face significant logistical challenges when conducting empirical studies and experiments, studying large-scale projects, and characterizing the development and growth of degenerative forms. These logistical challenges can be partially alleviated by developing automated metrics designed to identify degenerate forms. Furthermore, such metrics are essential for targeted refactoring and repairing degenerative forms. This dissertation research investigates a set of metrics targeted at specific degenerate forms common in software. The successful implementation and characterization of such metrics will enable further research in many forms of software maintenance.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"170 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129934962","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"First international workshop on privacy and security in programming (PSP)","authors":"T. Grandison, Michael Maximilien, Raquel L. Hill","doi":"10.1145/2660252.2662137","DOIUrl":"https://doi.org/10.1145/2660252.2662137","url":null,"abstract":"The importance of security and privacy in software engineering is now a pressing concern. Over the last decade, many programmers have recognized the importance of including security and privacy requirements at project start. This has led to efforts in secure/security engineering and privacy engineering, which focus on guidelines and best practices that can be used at the design stage to create safer code. Unfortunately, these disciplines are not pervasive and still in their infancy. The goal of this workshop is to make security and privacy first class citizens in programming and programming languages. This forum aims to gather research and industry to further the discussion on how to 1) codify the principles from secure and privacy engineering into programming language constructs and or tools, 2) create programming languages that have security and privacy as foundational tenets, and 3) create/codify constructs or tools that enables secure and privacy-preserving (business) operations.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122690543","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"FPW'14: future programming workshop","authors":"J. Edwards, R. Gabriel, Alexandria Payne","doi":"10.1145/2660252.2663601","DOIUrl":"https://doi.org/10.1145/2660252.2663601","url":null,"abstract":"Visions of the future of programming, in the form of videos.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114478231","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Self-adaptive parallel programming through tunable concurrency","authors":"T. Nguyen, Xinghui Zhao","doi":"10.1145/2660252.2660394","DOIUrl":"https://doi.org/10.1145/2660252.2660394","url":null,"abstract":"Recent advances in hardware architectures, particularly multicore and manycore systems, implicitly require programmers to write concurrent programs. However, writing correct and efficient concurrent programs is challenging. We envision a system where the concurrent programs can be self-adaptive when executing on different hardware. We have developed two different tuning policies, which enable users' programs to adjust their level of concurrency at compile-time and run-time respectively.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123534648","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"WOSC 2014: second workshop on optimizing stencil computations","authors":"S. Kamil, Saman P. Amarasinghe, P. Sadayappan","doi":"10.1145/2660252.2662138","DOIUrl":"https://doi.org/10.1145/2660252.2662138","url":null,"abstract":"The second Workshop on Optimizing Stencil Computations is held in Portland, Oregon, USA on October 20, 2014, as part of the 2014 ACM SIGPLAN conference on Systems, Programming Languages, and Applications: Software for Humanity (SPLASH). The workshop's objective is to bring together users of stencil computations and building systems, languages, and frameworks that optimize such computations, which appear in a large variety of domains. Because of their ubiquity, importance, and relative simplicity, stencils are a rich and varied area of research for a number of systems communities, and we have constructed the workshop to emphasize cross-project discussion. In addition to submitted papers, we are inviting keynote speakers from important stakeholders who use stencils in their applications. Proceedings will be published in the ACM Digital Library.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124588879","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Humane representation of thought: a trail map for the 21st century","authors":"Bret Victor","doi":"10.1145/2660252.2661746","DOIUrl":"https://doi.org/10.1145/2660252.2661746","url":null,"abstract":"New representations of thought -- written language, mathematical notation, information graphics, etc -- have been responsible for some of the most significant leaps in the progress of civilization, by expanding humanity's collectively-thinkable territory. But at debilitating cost. These representations, having been invented for static media such as paper, tap into a small subset of human capabilities and neglect the rest. Knowledge work means sitting at a desk, interpreting and manipulating symbols. The human body is reduced to an eye staring at tiny rectangles and fingers on a pen or keyboard.\u0000 Like any severely unbalanced way of living, this is crippling to mind and body. But less obviously, and more importantly, it is enormously wasteful of the vast human potential. Human beings naturally have many powerful modes of thinking and understanding. Most are incompatible with static media. In a culture that has contorted itself around the limitations of marks on paper, these modes are undeveloped, unrecognized, or scorned.\u0000 We are now seeing the start of a dynamic medium. To a large extent, people today are using this medium merely to emulate and extend static representations from the era of paper, and to further constrain the ways in which the human body can interact with external representations of thought.\u0000 But the dynamic medium offers the opportunity to deliberately invent a humane and empowering form of knowledge work. We can design dynamic representations which draw on the entire range of human capabilities -- all senses, all forms of movement, all forms of understanding -- instead of straining a few and atrophying the rest.\u0000 This talk suggests how each of the human activities in which thought is externalized (conversing, presenting, reading, writing, etc) can be redesigned around such representations.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"177 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132496495","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}