{"title":"Upload your program, share your model","authors":"Jens Dietrich","doi":"10.1145/2384716.2384727","DOIUrl":"https://doi.org/10.1145/2384716.2384727","url":null,"abstract":"We demonstrate the Massey Architecture Explorer (MAE), a browser-based application to visualise and analyse the architecture of JVM applications. The MAE extracts a graph-based model from Java byte code, and visualises it using a force directed layout on an HTML5 canvas. A novel scalable algorithm is used to detect architectural antipatterns. The antipatterns detected focus on problems software architects face when trying to refactor applications into OSGi or similar dynamic component models.\u0000 A unique feature of this system is that the state of the application is encoded in the URL (\"URL memento\"). These URLs can be shared and bookmarked, facilitating the sharing of architectural knowledge amongst software engineers.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132430584","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":"Understanding communication within pair programming","authors":"Mark Zarb","doi":"10.1145/2384716.2384738","DOIUrl":"https://doi.org/10.1145/2384716.2384738","url":null,"abstract":"Communication occurs constantly within a pair whilst they are programming. As examples, a navigator might grunt in approval to a new method the driver has just created, or the pair could have a long conversation discussing requirements and coding strategies. This paper presents a brief background study exploring communication within pair programming, and an investigation which results in the creation of a general analytic coding scheme for expert-expert pair programming. Finally, an experiment is detailed that aims to further explore this field.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"11 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132364750","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":"Using software quality standards to assure the quality of the mobile software product","authors":"Luis Corral","doi":"10.1145/2384716.2384734","DOIUrl":"https://doi.org/10.1145/2384716.2384734","url":null,"abstract":"Due to the high relevance gained by mobile software applications, software developers require a way to measure and track the quality of their mobile products from a domain-specific, quantitative point of view. Currently, there is no a link between the general quality goals set by the mobile ecosystem and the practices that have to be exercised to develop a compliant application. In this work, we pursue the implementation of a strategy to extend software quality standards to supply mechanisms to measure the quality of mobile software products from the point of view of developers and users, in the context of mobile execution environments and mobile application markets.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134571839","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}
Gabriël D. P. Konat, V. Vergu, L. Kats, Guido Wachsmuth, E. Visser
{"title":"The spoofax name binding language","authors":"Gabriël D. P. Konat, V. Vergu, L. Kats, Guido Wachsmuth, E. Visser","doi":"10.1145/2384716.2384748","DOIUrl":"https://doi.org/10.1145/2384716.2384748","url":null,"abstract":"In textual software languages, names are used to identify program elements such as variables, methods, and classes. Name analysis algorithms resolve names in order to establish references between definitions and uses of names. In this poster, we present the Spoofax Name Binding Language (NBL), a declarative meta-language for the specification of name binding and scope rules, which departs from the programmatic encodings of name binding provided by regular approaches. NBL aspires to become the universal language for name binding, which can be used next to BNF definitions in reference manuals, as well as serve the generation of implementations.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"347 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116533137","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":"Mostly-strongly-timed programming","authors":"H. Nishino","doi":"10.1145/2384716.2384754","DOIUrl":"https://doi.org/10.1145/2384716.2384754","url":null,"abstract":"Strongly-timed programming provides precise timing behaviours in logical time, which is crucial for audio programming. Yet, in the presence of time-consuming tasks, it can easily fail in coordinating the advance of logical time and the passage of real time. This can cause undesirable results, such as unexpected noise in sound output. We propose mostly-strongly-timed programming, which integrates asynchronous behaviours into strongly-timed programming so that the underlying scheduler can suspend and resume time-consuming tasks so as not to invalidate the synchrony hypothesis. Such integration can enlarge the application domain of the programming concept.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123033469","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":"Security-oriented program transformations to cure integer overflow vulnerabilities","authors":"Zack Coker","doi":"10.1145/2384716.2384759","DOIUrl":"https://doi.org/10.1145/2384716.2384759","url":null,"abstract":"","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129009573","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}
Juha-Pekka Tolvanen, J. Sprinkle, M. Rossi, J. Gray
{"title":"The 12th workshop on domain-specific modeling","authors":"Juha-Pekka Tolvanen, J. Sprinkle, M. Rossi, J. Gray","doi":"10.1145/2384716.2384784","DOIUrl":"https://doi.org/10.1145/2384716.2384784","url":null,"abstract":"Domain-Specific Modeling (DSM) has proven to be a viable solution to the challenges related to abstraction mismatches between the problem and solution spaces. In many cases, DSM assists in the generation of final products from high-level models that are specific to a domain in terms of abstractions and representation. This automation is possible because both the language and generators are tailored for one domain. This paper introduces DSM and describes the related workshop at SPLASH 2012 (23-24 October 2012, Tuscon, AZ).","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126494939","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}
Christoph Bockisch, L. Bergmans, Steven te Brinke, Ian Piumarta
{"title":"3rd international workshop on free composition (FREECO'12)","authors":"Christoph Bockisch, L. Bergmans, Steven te Brinke, Ian Piumarta","doi":"10.1145/2384716.2384786","DOIUrl":"https://doi.org/10.1145/2384716.2384786","url":null,"abstract":"The history of programming languages shows a continuous search for new composition mechanisms to find better ways for structuring increasingly complex software systems into modules that can be developed and reused independently. Composition mechanisms can address various types of dependencies among modules, e.g., inheritance, delegation, aggregation, design patterns, contracts, explicit protocols, or domain-specific compositions.\u0000 However, most languages adopt a fixed set of composition mechanisms, usually with explicit notation and predefined semantics. In case a language does not provide any mechanisms with the desired compositional behavior, programmers may need to write workarounds or introduce the new composition mechanism through macros, libraries, frameworks or language extensions.\u0000 This workshop intends to stimulate research in programming languages and software development by exploring the notion that today's languages with their limited set of composition mechanisms is insufficient. Instead we should allow compositions that support more flexibility, adopt a wide variety of compositions, domain-specific and tailored compositions, or programmable compositions of various program artifacts.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115152752","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":"Evaluation and usability of programming languages and tools (PLATEAU)","authors":"Shane Markstrum, E. Murphy-Hill, Caitlin Sadowski","doi":"10.1145/2384716.2384778","DOIUrl":"https://doi.org/10.1145/2384716.2384778","url":null,"abstract":"Programming languages exist to enable programmers to develop software effectively. But how efficiently programmers can write software depends on the usability of the languages and tools that they develop with. The aim of this workshop is to discuss methods, metrics and techniques for evaluating the usability of languages and language tools. The supposed benefits of such languages and tools cover a large space, including making programs easier to read, write, and maintain; allowing programmers to write more flexible and powerful programs; and restricting programs to make them more safe and secure. This workshop gathers the intersection of researchers in the programming language, programming tool, and human-computer interaction communities to share their research and discuss the future of evaluation and usability of programming languages and tools. We are also interested in the input of other members of the programming research community working on related areas, such as refactoring, design patterns, program analysis, program comprehension, software visualization, end-user programming, and other programming language paradigms.","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":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124807512","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}
Paolo G. Giarrusso, K. Ostermann, Michael Eichberg, Tillmann Rendel, Christian Kästner
{"title":"Reifying and optimizing collection queries for modularity","authors":"Paolo G. Giarrusso, K. Ostermann, Michael Eichberg, Tillmann Rendel, Christian Kästner","doi":"10.1145/2384716.2384747","DOIUrl":"https://doi.org/10.1145/2384716.2384747","url":null,"abstract":"Conventional collection libraries do not perform automatic collection-specific optimizations. Instead, performance-critical code using collections must be hand-optimized, leading to non-modular, brittle, and redundant code.\u0000 We propose SQuOpt, the Scala Query Optimizer, a deep embedding of the Scala collection library performing collection-specific optimizations automatically without external tools or compiler extensions.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128293975","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}