Visible to the public Biblio

Filters: First Letter Of Title is J  [Clear All Filters]
A B C D E F G H I [J] K L M N O P Q R S T U V W X Y Z   [Show ALL]
J
Aqil, Azeem, Khalil, Karim, Atya, Ahmed O.F., Papalexakis, Evangelos E., Krishnamurthy, Srikanth V., Jaeger, Trent, Ramakrishnan, K. K., Yu, Paul, Swami, Ananthram.  2017.  Jaal: Towards Network Intrusion Detection at ISP Scale. Proceedings of the 13th International Conference on Emerging Networking EXperiments and Technologies. :134–146.
We have recently seen an increasing number of attacks that are distributed, and span an entire wide area network (WAN). Today, typically, intrusion detection systems (IDSs) are deployed at enterprise scale and cannot handle attacks that cover a WAN. Moreover, such IDSs are implemented at a single entity that expects to look at all packets to determine an intrusion. Transferring copies of raw packets to centralized engines for analysis in a WAN can significantly impact both network performance and detection accuracy. In this paper, we propose Jaal, a framework for achieving accurate network intrusion detection at scale. The key idea in Jaal is to monitor traffic and construct in-network packet summaries. The summaries are then processed centrally to detect attacks with high accuracy. The main challenges that we address are (a) creating summaries that are concise, but sufficient to draw highly accurate inferences and (b) transforming traditional IDS rules to handle summaries instead of raw packets. We implement Jaal on a large scale SDN testbed. We show that on average Jaal yields a detection accuracy of about 98%, which is the highest reported for ISP scale network intrusion detection. At the same time, the overhead associated with transferring summaries to the central inference engine is only about 35% of what is consumed if raw packets are transferred.
Almeida, José Bacelar, Barbosa, Manuel, Barthe, Gilles, Blot, Arthur, Grégoire, Benjamin, Laporte, Vincent, Oliveira, Tiago, Pacheco, Hugo, Schmidt, Benedikt, Strub, Pierre-Yves.  2017.  Jasmin: High-Assurance and High-Speed Cryptography. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. :1807–1823.
Jasmin is a framework for developing high-speed and high-assurance cryptographic software. The framework is structured around the Jasmin programming language and its compiler. The language is designed for enhancing portability of programs and for simplifying verification tasks. The compiler is designed to achieve predictability and efficiency of the output code (currently limited to x64 platforms), and is formally verified in the Coq proof assistant. Using the supercop framework, we evaluate the Jasmin compiler on representative cryptographic routines and conclude that the code generated by the compiler is as efficient as fast, hand-crafted, implementations. Moreover, the framework includes highly automated tools for proving memory safety and constant-time security (for protecting against cache-based timing attacks). We also demonstrate the effectiveness of the verification tools on a large set of cryptographic routines.
Dong, Yao, Milanova, Ana, Dolby, Julian.  2016.  JCrypt: Towards Computation over Encrypted Data. Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools. :8:1–8:12.

Cloud computing allows clients to upload data and computation to untrusted servers, which leads to potential violations to the confidentiality of client data. We propose JCrypt, a static program analysis which transforms a Java program into an equivalent one, so that it performs computation over encrypted data and preserves data confidentiality. JCrypt minimizes computation over encrypted data. It consists of two stages. The first stage is a type-based information flow analysis which partitions the program so that only sensitive parts need to be encrypted. The second stage is an inter-procedural data-flow analysis, similar to the classical Available Expressions. It deduces the appropriate encryption scheme for sensitive variables. We implemented JCrypt for Java and showed that our analysis is effective and practical using five benchmark suites. JCrypt encrypts a significantly larger percentage of benchmarks compared to MrCrypt, the closest related work.

Pooja, B. P., Manish, M. P., Megha, B. P..  2017.  Jellyfish attack detection and prevention in MANET. 2017 Third International Conference on Sensing, Signal Processing and Security (ICSSS). :54–60.

Jellyfish attack is type of DoS attack which is difficult to detect and prevent. Jellyfish attack is categorized as JF Reorder Attack, JF Periodic Dropping Attack and JF Delay Variance Attack. JF attack delay data packets for some amount of time before forwarding and after reception which results high end-to-end delay in the network. JF Attack disrupts whole functionality of transmission and reduces the performance of network. In this paper difference of receive time and sending time greater than threshold value then delay occur due to congestion or availability of JF nodes that confirm by checking load of network. This way detect and prevent jellyfish attack.

Petrić, Jean, Bowes, David, Hall, Tracy, Christianson, Bruce, Baddoo, Nathan.  2016.  The Jinx on the NASA Software Defect Data Sets. Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering. :13:1–13:5.

Background: The NASA datasets have previously been used extensively in studies of software defects. In 2013 Shepperd et al. presented an essential set of rules for removing erroneous data from the NASA datasets making this data more reliable to use. Objective: We have now found additional rules necessary for removing problematic data which were not identified by Shepperd et al. Results: In this paper, we demonstrate the level of erroneous data still present even after cleaning using Shepperd et al.'s rules and apply our new rules to remove this erroneous data. Conclusion: Even after systematic data cleaning of the NASA MDP datasets, we found new erroneous data. Data quality should always be explicitly considered by researchers before use.

Ignacio X. Dominguez, Jayant Dhawan, Robert St. Amant, David L. Roberts.  2016.  JIVUI: JavaScript Interface for Visualization of User Interaction. Proceedings of the International Conference on Cognitive Modeling (ICCM). :125–130.

In this paper we describe the JavaScript Interface for Visu- alization of User Interaction (JIVUI): a modular, Web-based, and customizable visualization tool that shows an animation of the trace of a user interaction with a graphical interface, or of predictions made by cognitive models of user interaction. Any combination of gaze, mouse, and keyboard data can be repro- duced within a user-provided interface. Although customiz- able, the tool includes a series of plug-ins to support common visualization tasks, including a timeline of input device events and perceptual and cognitive operators based on the Model Hu- man Processor and TYPIST. We talk about our use of this tool to support hypothesis generation, assumption validation, and to guide our modeling efforts. 

Thomé, Julian, Shar, Lwin Khin, Bianculli, Domenico, Briand, Lionel C..  2017.  JoanAudit: A Tool for Auditing Common Injection Vulnerabilities. Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. :1004–1008.

JoanAudit is a static analysis tool to assist security auditors in auditing Web applications and Web services for common injection vulnerabilities during software development. It automatically identifies parts of the program code that are relevant for security and generates an HTML report to guide security auditors audit the source code in a scalable way. JoanAudit is configured with various security-sensitive input sources and sinks relevant to injection vulnerabilities and standard sanitization procedures that prevent these vulnerabilities. It can also automatically fix some cases of vulnerabilities in source code — cases where inputs are directly used in sinks without any form of sanitization — by using standard sanitization procedures. Our evaluation shows that by using JoanAudit, security auditors are required to inspect only 1% of the total code for auditing common injection vulnerabilities. The screen-cast demo is available at https://github.com/julianthome/joanaudit.

Benamira, Elias, Merazka, Fatiha, Kurt, Gunes Karabulut.  2018.  Joint Channel Coding and Cooperative Network Coding on PSK Constellations in Wireless Networks. 2018 International Conference on Smart Communications in Network Technologies (SaCoNeT). :132–137.
In this paper, we consider the application of Reed-Solomon (RS) channel coding for joint error correction and cooperative network coding on non-binary phase shift keying (PSK) modulated signals. The relay first decodes the RS channel coded messages received each in a time slot from all sources before applying network coding (NC) by the use of bit-level exclusive OR (XOR) operation. The network coded resulting message is then channel encoded before its transmission to the next relay or to the destination according to the network configuration. This scenario shows superior performance in comparison with the case where the relay does not perform channel coding/decoding. For different orders of PSK modulation and different wireless configurations, simulation results demonstrate the improvements resulting from the use of RS channel codes in terms of symbol error rate (SER) versus signal-to-noise ratio (SNR).
Zayene, M., Habachi, O., Meghdadi, V., Ezzeddine, T., Cances, J. P..  2017.  Joint delay and energy minimization for Wireless Sensor Networks using instantly decodable network coding. 2017 International Conference on Internet of Things, Embedded Systems and Communications (IINTEC). :21–25.

Most of Wireless Sensor Networks (WSNs) are usually deployed in hostile environments where the communications conditions are not stable and not reliable. Hence, there is a need to design an effective distributed schemes to enable the sensors cooperating in order to recover the sensed data. In this paper, we establish a novel cooperative data exchange (CDE) scheme using instantly decodable network coding (IDNC) across the sensor nodes. We model the problem using the cooperative game theory in partition form. We develop also a distributed merge-and-split algorithm in order to form dynamically coalitions that maximize their utilities in terms of both energy consumption and IDNC delay experienced by all sensors. Indeed, the proposed algorithm enables these sensors to self-organize into stable clustered network structure where all sensors do not have incentives to change the cluster he is part of. Simulation results show that our cooperative scheme allows nodes not only to reduce the energy consumption, but also the IDNC completion time.

Wu, Jie, Li, Hongchun, Xu, Yi, Tian, Jun.  2018.  Joint Design of WiFi Mesh Network for Video Surveillance Application. Proceedings of the 14th ACM International Symposium on QoS and Security for Wireless and Mobile Networks. :140–146.
The ability to transmit high volumes of data over a long distance makes WiFi mesh networks an ideal transmission solution for remote video surveillance. Instead of independently manipulating the node deployment, channel and interface assignment, and routing to improve the network performance, we propose a joint network design using multi-objective genetic algorithm to take into account the interplay of them. Moreover, we found a performance evaluation method based on the transmission capability of the WiFi mesh networks for the first time. The good agreement of our obtained multiple optimized solutions to the extensive simulation results by NS-3 demonstrates the effectiveness of our design.
Kaghaz-Garan, S., Umbarkar, A., Doboli, A..  2014.  Joint localization and fingerprinting of sound sources for auditory scene analysis. Robotic and Sensors Environments (ROSE), 2014 IEEE International Symposium on. :49-54.

In the field of scene understanding, researchers have mainly focused on using video/images to extract different elements in a scene. The computational as well as monetary cost associated with such implementations is high. This paper proposes a low-cost system which uses sound-based techniques in order to jointly perform localization as well as fingerprinting of the sound sources. A network of embedded nodes is used to sense the sound inputs. Phase-based sound localization and Support-Vector Machine classification are used to locate and classify elements of the scene, respectively. The fusion of all this data presents a complete “picture” of the scene. The proposed concepts are applied to a vehicular-traffic case study. Experiments show that the system has a fingerprinting accuracy of up to 97.5%, localization error less than 4 degrees and scene prediction accuracy of 100%.

Wang, X., Teng, Y., Song, M., Wang, X., Yuan, H..  2015.  Joint Optimization of Coverage and Capacity Based on Power Density Distribution in Heterogeneous Cellular Networks. 2015 Fifth International Conference on Instrumentation and Measurement, Computer, Communication and Control (IMCCC). :251–255.

The paper presents a joint optimization algorithm for coverage and capacity in heterogeneous cellular networks. A joint optimization objective related to capacity loss considering both coverage hole and overlap area based on power density distribution is proposed. The optimization object is a NP problem due to that the adjusting parameters are mixed with discrete and continuous, so the bacterial foraging (BF) algorithm is improved based on network performance analysis result to find a more effective direction than randomly selected. The results of simulation show that the optimization object is feasible gains a better effect than traditional method.

Deka, Surajit, Sarma, Kandarpa Kumar.  2018.  Joint Source Channel Coding with Bandwidth Compression. 2018 5th International Conference on Signal Processing and Integrated Networks (SPIN). :286–290.
In this paper, we have considered the broadcasting of a memoryless bivariate Gaussian source over a Gaussian broadcast channel with respect to bandwidth compression. We have analysed the performance of a hybrid digital-analog (HDA) coding system in combination with joint source channel coding (JSCC) to measure the distortion regions. The transmission advantages due to the combination of both the analog and digital techniques, a class of HDA schemes that yields better performance in distortion is discussed. The performance of source and channel coding for the possible better outcome of the system is measured by employing Wyner-Ziv and Costa coding. In our model, we have considered the upper layer to be a combination of a hybrid layer in the sense of both the analog and digital processing is done. This is executed in presence of quantization error and performance of the system is measured with two conditions: 1) HDA scheme with quantization scaling factor α = 0, i.e. the input of the channel have only the analog information which is considered as the scaled quantization error βS 2) The analog information from the first layer S is suppressed by setting error scaling factor β = 0 and 3) Inclusion of recursive mode with JSCC in each of the three layers for the possible better outcome is considered here.
Weng, Jian-Jian, Alajaji, Fady, Linder, Tamás.  2019.  Joint Source-Channel Coding for the Transmission of Correlated Sources over Two-Way Channels. 2019 IEEE International Symposium on Information Theory (ISIT). :1322–1326.
A joint source-channel coding (JSCC) scheme based on hybrid digital/analog coding is proposed for the transmission of correlated sources over discrete-memoryless two-way channels (DM-TWCs). The scheme utilizes the correlation between the sources in generating channel inputs, thus enabling the users to coordinate their transmission to combat channel noise. The hybrid scheme also subsumes prior coding methods such as rate-one separate source-channel coding and uncoded schemes for two-way lossy transmission, as well as the correlation-preserving coding scheme for (almost) lossless transmission. Moreover, we derive a distortion outer bound for the source-channel system using a genie-aided argument. A complete JSSC theorem for a class of correlated sources and DM-TWCs whose capacity region cannot be enlarged via interactive adaptive coding is also established. Examples that illustrate the theorem are given.
Mesodiakaki, Agapi, Zola, Enrica, Kassler, Andreas.  2017.  Joint User Association and Backhaul Routing for Green 5G Mesh Millimeter Wave Backhaul Networks. Proceedings of the 20th ACM International Conference on Modelling, Analysis and Simulation of Wireless and Mobile Systems. :179–186.

With the advance of fifth generation (5G) networks, network density needs to grow significantly in order to meet the required capacity demands. A massive deployment of small cells may lead to a high cost for providing fiber connectivity to each node. Consequently, many small cells are expected to be connected through wireless links to the umbrella eNodeB, leading to a mesh backhaul topology. This backhaul solution will most probably be composed of high capacity point-to-point links, typically operating in the millimeter wave (mmWave) frequency band due to its massive bandwidth availability. In this paper, we propose a mathematical model that jointly solves the user association and backhaul routing problem in the aforementioned context, aiming at the energy efficiency maximization of the network. Our study considers the energy consumption of both the access and backhaul links, while taking into account the capacity constraints of all the nodes as well as the fulfillment of the service-level agreements (SLAs). Due to the high complexity of the optimal solution, we also propose an energy efficient heuristic algorithm (Joint), which solves the discussed joint problem, while inducing low complexity in the system. We numerically evaluate the algorithm performance by comparing it not only with the optimal solution but also with reference approaches under different traffic load scenarios and backhaul parameters. Our results demonstrate that Joint outperforms the state-of-the-art, while being able to find good solutions, close to optimal, in short time.

Abate, Carmine, Blanco, Roberto, Garg, Deepak, Hritcu, Catalin, Patrignani, Marco, Thibault, Jérémy.  2019.  Journey Beyond Full Abstraction: Exploring Robust Property Preservation for Secure Compilation. 2019 IEEE 32nd Computer Security Foundations Symposium (CSF). :256–25615.
Good programming languages provide helpful abstractions for writing secure code, but the security properties of the source language are generally not preserved when compiling a program and linking it with adversarial code in a low-level target language (e.g., a library or a legacy application). Linked target code that is compromised or malicious may, for instance, read and write the compiled program's data and code, jump to arbitrary memory locations, or smash the stack, blatantly violating any source-level abstraction. By contrast, a fully abstract compilation chain protects source-level abstractions all the way down, ensuring that linked adversarial target code cannot observe more about the compiled program than what some linked source code could about the source program. However, while research in this area has so far focused on preserving observational equivalence, as needed for achieving full abstraction, there is a much larger space of security properties one can choose to preserve against linked adversarial code. And the precise class of security properties one chooses crucially impacts not only the supported security goals and the strength of the attacker model, but also the kind of protections a secure compilation chain has to introduce. We are the first to thoroughly explore a large space of formal secure compilation criteria based on robust property preservation, i.e., the preservation of properties satisfied against arbitrary adversarial contexts. We study robustly preserving various classes of trace properties such as safety, of hyperproperties such as noninterference, and of relational hyperproperties such as trace equivalence. This leads to many new secure compilation criteria, some of which are easier to practically achieve and prove than full abstraction, and some of which provide strictly stronger security guarantees. For each of the studied criteria we propose an equivalent “property-free” characterization that clarifies which proof techniques apply. For relational properties and hyperproperties, which relate the behaviors of multiple programs, our formal definitions of the property classes themselves are novel. We order our criteria by their relative strength and show several collapses and separation results. Finally, we adapt existing proof techniques to show that even the strongest of our secure compilation criteria, the robust preservation of all relational hyperproperties, is achievable for a simple translation from a statically typed to a dynamically typed language.
Ethelbert, O., Moghaddam, F. F., Wieder, P., Yahyapour, R..  2017.  A JSON Token-Based Authentication and Access Management Schema for Cloud SaaS Applications. 2017 IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud). :47–53.

Cloud computing is significantly reshaping the computing industry built around core concepts such as virtualization, processing power, connectivity and elasticity to store and share IT resources via a broad network. It has emerged as the key technology that unleashes the potency of Big Data, Internet of Things, Mobile and Web Applications, and other related technologies; but it also comes with its challenges - such as governance, security, and privacy. This paper is focused on the security and privacy challenges of cloud computing with specific reference to user authentication and access management for cloud SaaS applications. The suggested model uses a framework that harnesses the stateless and secure nature of JWT for client authentication and session management. Furthermore, authorized access to protected cloud SaaS resources have been efficiently managed. Accordingly, a Policy Match Gate (PMG) component and a Policy Activity Monitor (PAM) component have been introduced. In addition, other subcomponents such as a Policy Validation Unit (PVU) and a Policy Proxy DB (PPDB) have also been established for optimized service delivery. A theoretical analysis of the proposed model portrays a system that is secure, lightweight and highly scalable for improved cloud resource security and management.

Pointon, Grant, Thompson, Chelsey, Creem-Regehr, Sarah, Stefanucci, Jeanine, Joshi, Miti, Paris, Richard, Bodenheimer, Bobby.  2018.  Judging Action Capabilities in Augmented Reality. Proceedings of the 15th ACM Symposium on Applied Perception. :6:1-6:8.

The utility of mediated environments increases when environmental scale (size and distance) is perceived accurately. We present the use of perceived affordances–-judgments of action capabilities–-as an objective way to assess space perception in an augmented reality (AR) environment. The current study extends the previous use of this methodology in virtual reality (VR) to AR. We tested two locomotion-based affordance tasks. In the first experiment, observers judged whether they could pass through a virtual aperture presented at different widths and distances, and also judged the distance to the aperture. In the second experiment, observers judged whether they could step over a virtual gap on the ground. In both experiments, the virtual objects were displayed with the HoloLens in a real laboratory environment. We demonstrate that affordances for passing through and perceived distance to the aperture are similar in AR to those measured in the real world, but that judgments of gap-crossing in AR were underestimated. These differences across two affordances may result from the different spatial characteristics of the virtual objects (on the ground versus extending off the ground).

Koo, Hyungjoon, Polychronakis, Michalis.  2016.  Juggling the Gadgets: Binary-level Code Randomization Using Instruction Displacement. Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security. :23–34.

Code diversification is an effective mitigation against return-oriented programming attacks, which breaks the assumptions of attackers about the location and structure of useful instruction sequences, known as "gadgets". Although a wide range of code diversification techniques of varying levels of granularity exist, most of them rely on the availability of source code, debug symbols, or the assumption of fully precise code disassembly, limiting their practical applicability for the protection of closed-source third-party applications. In-place code randomization has been proposed as an alternative binary-compatible diversification technique that is tolerant of partial disassembly coverage, in the expense though of leaving some gadgets intact, at the disposal of attackers. Consequently, the possibility of constructing robust ROP payloads using only the remaining non-randomized gadgets is still open. In this paper we present instruction displacement, a code diversification technique based on static binary instrumentation that does not rely on complete code disassembly coverage. Instruction displacement aims to improve the randomization coverage and entropy of existing binary-level code diversification techniques by displacing any remaining non-randomized gadgets to random locations. The results of our experimental evaluation demonstrate that instruction displacement reduces the number of non-randomized gadgets in the extracted code regions from 15.04% for standalone in-place code randomization, to 2.77% for the combination of both techniques. At the same time, the additional indirection introduced due to displacement incurs a negligible runtime overhead of 0.36% on average for the SPEC CPU2006 benchmarks.

Agadakos, Ioannis, Chen, Chien-Ying, Campanelli, Matteo, Anantharaman, Prashant, Hasan, Monowar, Copos, Bogdan, Lepoint, Tancrède, Locasto, Michael, Ciocarlie, Gabriela F., Lindqvist, Ulf.  2017.  Jumping the Air Gap: Modeling Cyber-Physical Attack Paths in the Internet-of-Things. Proceedings of the 2017 Workshop on Cyber-Physical Systems Security and PrivaCy. :37–48.

The proliferation of Internet-of-Things (IoT) devices within homes raises many security and privacy concerns. Recent headlines highlight the lack of effective security mechanisms in IoT devices. Security threats in IoT arise not only from vulnerabilities in individual devices but also from the composition of devices in unanticipated ways and the ability of devices to interact through both cyber and physical channels. Existing approaches provide methods for monitoring cyber interactions between devices but fail to consider possible physical interactions. To overcome this challenge, it is essential that security assessments of IoT networks take a holistic view of the network and treat it as a "system of systems", in which security is defined, not solely by the individual systems, but also by the interactions and trust dependencies between systems. In this paper, we propose a way of modeling cyber and physical interactions between IoT devices of a given network. By verifying the cyber and physical interactions against user-defined policies, our model can identify unexpected chains of events that may be harmful. It can also be applied to determine the impact of the addition (or removal) of a device into an existing network with respect to dangerous device interactions. We demonstrate the viability of our approach by instantiating our model using Alloy, a language and tool for relational models. In our evaluation, we considered three realistic IoT use cases and demonstrate that our model is capable of identifying potentially dangerous device interactions. We also measure the performance of our approach with respect to the CPU runtime and memory consumption of the Alloy model finder, and show that it is acceptable for smart-home IoT networks.

Nadi, Sarah, Krüger, Stefan, Mezini, Mira, Bodden, Eric.  2016.  Jumping Through Hoops: Why Do Java Developers Struggle with Cryptography APIs? Proceedings of the 38th International Conference on Software Engineering. :935–946.

To protect sensitive data processed by current applications, developers, whether security experts or not, have to rely on cryptography. While cryptography algorithms have become increasingly advanced, many data breaches occur because developers do not correctly use the corresponding APIs. To guide future research into practical solutions to this problem, we perform an empirical investigation into the obstacles developers face while using the Java cryptography APIs, the tasks they use the APIs for, and the kind of (tool) support they desire. We triangulate data from four separate studies that include the analysis of 100 StackOverflow posts, 100 GitHub repositories, and survey input from 48 developers. We find that while developers find it difficult to use certain cryptographic algorithms correctly, they feel surprisingly confident in selecting the right cryptography concepts (e.g., encryption vs. signatures). We also find that the APIs are generally perceived to be too low-level and that developers prefer more task-based solutions.

Do, Lisa Nguyen Quang, Ali, Karim, Livshits, Benjamin, Bodden, Eric, Smith, Justin, Murphy-Hill, Emerson.  2017.  Just-in-time Static Analysis. Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis. :307–317.
We present the concept of Just-In-Time (JIT) static analysis that interleaves code development and bug fixing in an integrated development environment. Unlike traditional batch-style analysis tools, a JIT analysis tool presents warnings to code developers over time, providing the most relevant results quickly, and computing less relevant results incrementally later. In this paper, we describe general guidelines for designing JIT analyses. We also present a general recipe for transforming static data-flow analyses to JIT analyses through a concept of layered analysis execution. We illustrate this transformation through CHEETAH, a JIT taint analysis for Android applications. Our empirical evaluation of CHEETAH on real-world applications shows that our approach returns warnings quickly enough to avoid disrupting the normal workflow of developers. This result is confirmed by our user study, in which developers fixed data leaks twice as fast when using CHEETAH compared to an equivalent batch-style analysis.